TOP

npm-run 自动化

为什么使用npm run

  插件不需要全局安装,只要安装在工程项目中,npm上的包提供了命令行接口,可以直接使用这些局部安装的插件;

  举例(babel):

    在工程项目中局部安装babel、转码规则后,直接在终端中执行 babel src -d dest 则命令不能执行;

    原因:$PATH中目录下 没有babel的执行文件 ,babel执行文件在项目中node_modules/bin/中,

    npm会自动把node_modules/.bin加入$PATH,这样就可以直接运行依赖程序,不需要全局安装;(也可以手动添加node_modules/.bin到$PATH)

 

npm run 执行

  npm run 执行时,会检索package.json文件中的scripts对象,scripts中的每一个key-value对应一个命令;

//package.json文件

 "name": "blog",
  "version": "1.0.0",
  "description": "personal blog",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
  "bulid-babel":"babel src -d dest",//执行babel 
  "bulid-js":"gulp uglify",
  "bulid-bash":"bash test.sh"// 执行bash脚本命令
  },
  "author": "rocketV2",
  "license": "MIT",

  执行 npm run bulid-js 的过程:

npm将node_modules/.bin/添加到$PATH  ---> npm run 检索到bulid-js对应的命令  --->  执行命令语句 

 

  在终端中执行 ls -la 命令时的过程:

根据$PATH检索ls命令存放的位置 ---> 不存在报错;存在,执行ls命令语句

 

参考:

  http://blog.csdn.net/yy374864125/article/details/40740073

  http://blog.sina.com.cn/s/blog_a3fb4c660102vbmv.html

posted @ 2017-03-02 09:59  RocketV2  阅读(224)  评论(0编辑  收藏  举报