node之创造可执行命令

274 阅读1分钟

安装全局和本地命令和自定义命令

npm root / npm root -g 查找版本存储路径和全局版本存储路径

  • 安装全局
    • 容易造成版本重复及覆盖
    • 不能基于CommonJs模块规范调用
    • 安装在全局目录下的模块,大部分会生成一个xxx.cmd文件,只要有这个文件,那么xxx就是一个可执行命令
  • 安装本地
    • 项目单独使用

可执行命令脚本 cmd文件

  1. npm root -g找出全局命令所在
  2. 在npm页面找到有cmd文件,复制内容并且改写为打开node_modules的tkf的index.js路径
  3. 输入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"
 %*
)


可执行脚本

  1. 把模块安装在本地,如果是支持命令操作的(会在node_modules的bin中生成xxx.cmd的命令文件,只不过这个文件无法在全局下执行 =>不能直接用命令(全局))
  2. 在package.json的scripts中配置需要执行的命令脚本 "script" : { "tkf": 'lessc -v' 属性名自己设置,属性值是需要执行的命令脚本,需要自己编写(可以自己配置命令) }
  3. npm run tkf / yarn tkf 这样的操作就是把配置的脚本执行
    1. 首先到配置清单的scripts里面查找
    2. 然后执行对应的属性值的脚本执行
    3. 执行脚本的时候,会到本地node_modules中的bin文件中查找,没有的话,向npm安装的全局目录下查找