大東-博客

通过本教程的学习,自己可以手写一个脚手架,根据模板生成自己想要的项目(包括不局限于 vue、react,可以自行发挥),本教程是针对 vue 来写的。

在手写脚手架之前,我们需要做一些准备工作,学习一下基础知识。

什么是 cli

命令行界面(英语:command line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。

npm package.json bin字段

在安装第三方带有bin字段的npm包时,可执行文件会被链接到当前项目的./node_modules/.bin中。在本项目中,就可以很方便地利用npm执行脚本(package.json文件中scripts可以直接执行:node node_modules/.bin/practice);

  • 若是局部安装,则npm会为bin中配置的文件在bin目录下创建一个软连接(对于windows系统,默认会在C:\Users\username\AppData\Roaming\npm目录下)
  • 若是局部安装,则会在项目内的./node_modules/.bin/目录下创建一个软链接

因此,按上面的例子,当你安装practice的时候,npm就会为./bin/www/usr/local/bin/practice路径创建一个软链接
如果你的模块只有一个可执行文件,并且它的命令名称和模块名称一样,你可以只写一个字符串来代替上面那种配置,例如:

package.json文件

1
2
3
{ 
"bin" : "./bin/www"
}

作用和如下写法相同:

package.json文件

1
2
3
4
5
{
"bin" : {
"practice" : "./bin/www"
}
}

未完待续…

下期将介绍在开发脚手架中使用的一些npm包

参考资料:

npm package.json属性详解


个人知乎
https://www.zhihu.com/people/sxd1991/