美文网首页
使用npm scripts构建前端工作流

使用npm scripts构建前端工作流

作者: 尾巴尾巴尾巴 | 来源:发表于2017-08-23 11:14 被阅读0次

    npm原理

    npm 脚本的原理非常简单。每当执行npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。
    特别的是,npm run新建的这个 Shell,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。
    这就意味着,当前目录下的node_modules/.bin子目录里面的所有脚本,都可以直接用脚本名调用,而不必加上路径。

    scripts 配置

    其实,scripts的配置就是把bash里面执行的命令,写到scripts对象里,具体怎么写要看每个脚本的配置方法!!!!!

    首先,我们需要搞清楚如何使用 npm 来管理构建脚本。作为核心命令之一的 npm run-script 命令(简称 npm run )可以从 package.json 中解析出 scripts 对象,然后将该对象的key作为 npm run 的第一个参数,它会在操作系统的默认终端中执行该key对应的命令,请看下面的 package.json 文件:

    {
      "name": "express-sticky-note",
      "version": "0.0.0",
      "private": true,
      "scripts": {
        "start": "node ./bin/www",
        "webpack": "webpack --config ./src/webpack.config.js",
        "watch": "onchange 'src/**/*.js' 'src/**/*.less' -- npm run webpack"
      },
      "devDependencies": {
        "onchange": "^3.2.1",
        "webpack": "^2.2.1",
        "webpack-dev-server": "^2.4.2"
      }
    }
    

    如果运行npm run webpack,那么 npm 将在bash中执行webpack --config ./src/webpack.config.js,如果运行npm run watch,那么将在bash中执行onchange 'src/**/*.js' 'src/**/*.less' -- npm run webpack

    另外,我们还可以合并scripts命令,比如在上面的代码中加入all命令,那么当我们运行npm run all命令的时候,npm run webpack 和 npm run watch两个命令都会执行了

    {
      "name": "express-sticky-note",
      "version": "0.0.0",
      "private": true,
      "scripts": {
        "start": "node ./bin/www",
        "webpack": "webpack --config ./src/webpack.config.js",
        "watch": "onchange 'src/**/*.js' 'src/**/*.less' -- npm run webpack",
         "all":"npm run webpack && npm run watch" //&&表示顺序执行,&表示同时执行
      },
      "devDependencies": {
        "onchange": "^3.2.1",
        "webpack": "^2.2.1",
        "webpack-dev-server": "^2.4.2"
      }
    }
    

    相关文章

      网友评论

          本文标题:使用npm scripts构建前端工作流

          本文链接:https://www.haomeiwen.com/subject/rmlddxtx.html