购买一台云服务器,安装nvm,能够将配置全局命令链接js文件执行
全局安装@vue/cli为什么会添加命令vue
linux或者MAC系统中通过which vue
查看vue地址,通过进入该地址查看文件发现软链接指向真实文件,真实文件同级别下的package.json中的bin字段中的名决定了输入命令vue
2.全区安装@vue/cli时将包放在了node安装位置的node_modules下并且在包中的package.json的bin字段下发现名称,将名称下的文件软链接到bin目录下
3.执行vue命令时通过which vue
显示的路径直接执行和执行vue命令等价
linux中通过chmod的数字模式和符号模式为文件赋予权限
#!/usr/bin/env node
js文件前加上这个意味在node环境下执行以js为结尾的可执行文件
全局添加 zhixy命令
在环境变量的node的bin目录下创建软连接,让软连接直接指向文件,文件要是可执行的
使用ln -s <target> <link_name>
来创建软连接
centos8安装docker
docker最新镜像加速
脚手架架构设计图
要想使用全局命令,需要在指定bin字段的包内使用npm link将包添加到全局,bin中的字段名就是包名
拆包策略要想一个包链接到另一个包,需要在依赖中指明本地包的包名和版本号,在根目录下使用lerna link命令
架构师学习文档
使用脚手架帮助
在commands后还可以使用--help来查看还有没有commands和options,例如nrm login --help
添加command函数中若有第二个参数说明的话,commander包会把命令后的参数和命令合在一起
program
.command('install [name]', 'install package', {
executableFile: 'imooc-cli',//去执行新的命令
// isDefault: true,//为true就不会有上述情况
hidden: true,//命令隐藏
})
.alias('i');
配置babel来解析js中的async、await命令等
使用node来支持ES Module,将package.json中加入type:"module"字段,确保文件引入正确,.js文件名不可省略,然后使用nde 主入口文件命令执行文件
node多进程可用于在获取到文件的绝对路径后通过node exec 后加真正命令执行代码,在执行代码的过程中是通过启动一个新进程来操作的
package管理是先是否执行本地的包,如果不是的话获取缓存目录,缓存中如果不存在的话通过网络请求安装到本地
// 使用 lerna 创建包
lerna create @hzw-cli-dev/log
// 使用 lerna 给 log 包 安装依赖
lerna add npmlog utils/log