之前使用的脚手架工具
做前端项目的经历过大概这么几个阶段
- 最开始的时候,会根据官网的例子,setup 好环境(node),用 package 管理好依赖,自己用 grunt 来处理打包的活;
- 过程中有遇到各种不一样技术栈的项目,开始有人推荐我用脚手架工具 yeoman,按照官网的例子,找到合适的 generator,一步步的可以搭建起一个项目的架子;
- 后面一些主流开发框架,如 Angular 和 React 都提供了一些对应的 cli,如 angular-cli 之类的命令行工具,帮助快速 setup 好环境,感觉比之前自己用 yeoman 方便且快速
这是之前走过的一些路,今天想尝试下其他比较方便的路。
sao.js
地上本没有路,走的人多了,也便成了路。
并且个人感觉,抄小路有风险,但探索的乐趣和成就感确实很爽呀。
sao.js 是我无意间在 github 发现的,自己尝试了下,确实还可以,并且过程中让我有其他收获。
sao.js 和 yeoman 一样也是脚手架工具。readme 里面的一段话交代了项目的原因
SAO was made because yeoman, while powerful, is too complex. vue-cli, on the other hand, is more than a scaffolding tool and lacks some important features like unit testing. SAO combines the powerful core features of yeoman with the simplicity of vue-cli into a single application.
其中有一点很想 +1,yeoman 真的很厉害但是真的也确实很复杂,特别是在在使用过一些 cli 工具后。但单个的 cli 工具一般都是为特定框架使用的比如 vue 比如 angular,这个时候就是尝试 sao.js 的时候了。
start sao.js
npm i -g sao
sao nm node-project
然后就会开始创建 git 仓库了,如图
然后开始运行 test
yarn test
结果发现 checkstyle 报错,这样也行,先 fix 再说
运行
yarn lint-staged
再次 run test,居然第一个测试就报错,search 了下是缺 babel 相关依赖
在 package.json 中增加依赖
"@babel/core": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"babel-core": "7.0.0-bridge.0",
以及在项目加入基本的 banel 配置,并修改 test 的 script 为
"test": "npm run lint && jest --no-cache",
就可以啦
101 done!