安装全局和本地命令和自定义命令
npm root / npm root -g 查找版本存储路径和全局版本存储路径
- 安装全局
- 容易造成版本重复及覆盖
- 不能基于CommonJs模块规范调用
- 安装在全局目录下的模块,大部分会生成一个xxx.cmd文件,只要有这个文件,那么xxx就是一个可执行命令
- 安装本地
- 项目单独使用
可执行命令脚本 cmd文件
- npm root -g找出全局命令所在
- 在npm页面找到有cmd文件,复制内容并且改写为打开node_modules的tkf的index.js路径
- 输入tkf命令行就会执行index.js
@IF EXIST "%dp0%\node.exe" (
"%~dp0\node.exe" "%~dp0\node_modules\tkf\index.js"
%*) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\node_modules\tkf\index.js"
%*
)
可执行脚本
- 把模块安装在本地,如果是支持命令操作的(会在node_modules的bin中生成xxx.cmd的命令文件,只不过这个文件无法在全局下执行 =>不能直接用命令(全局))
- 在package.json的scripts中配置需要执行的命令脚本 "script" : { "tkf": 'lessc -v' 属性名自己设置,属性值是需要执行的命令脚本,需要自己编写(可以自己配置命令) }
- npm run tkf / yarn tkf 这样的操作就是把配置的脚本执行
- 首先到配置清单的scripts里面查找
- 然后执行对应的属性值的脚本执行
- 执行脚本的时候,会到本地node_modules中的bin文件中查找,没有的话,向npm安装的全局目录下查找