乐趣区

另一种系列-另一种前端脚手架saojs

之前使用的脚手架工具

做前端项目的经历过大概这么几个阶段

  • 最开始的时候,会根据官网的例子,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!

退出移动版