美文网首页
npm配置文件脚本定义.md

npm配置文件脚本定义.md

作者: 7f2aceb77681 | 来源:发表于2018-07-05 23:16 被阅读8次

[TOC]

一、npm脚本原理

npm脚本的原理非常简单。每当执行npm run,就会自动新建一个Shell,在这个 Shell里面执行指定的脚本命令。因此,只要是Shell(一般是 Bash)可以运行的命令,就可以写在 npm脚本里面。

比较特别的是,npm run新建的这个 Shell,会将当前目录的node_modules/.bin子目录加入PATH变量,执行结束后,再将PATH变量恢复原样。

二、package.json

package.json是npm的配置文件,其中定义了项目基本信息、项目依赖库以及node运行脚本。

{
  "name": "vux-demo",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "author": "vipinchan <chenweiping@xiamenair.com>",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "build": "node build/build.js"
  },
  "dependencies": {
    "axios": "^0.16.2",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1",
    "vux": "^2.2.0",
    "mockjs": "1.0.1-beta3"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
  },
  "engines": {
    "node": ">= 4.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}
  • dependencies字段指定了项目运行所依赖的模块;
  • devDependencies指定项目开发所需要的模块。
  • scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
    安装新的模块:
npm install express --save  // 将该模块写入dependencies属性
npm install express --save-dev  // 将该模块写入devDependencies属性

三、脚本区及钩子

  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "prebuild": "rm -f dist/prod/*.js && rm -f dist/test/*.js",
    "start": "npm run dev",
    "build": "npm run build:test && npm run build:prod",
    "build:prod": "webpack --env.NODE_ENV=production",
    "build:test": "webpack --env.NODE_ENV=test",
  },

1. 执行顺序

npm run build:test & npm run build:prod // 并行执行
npm run build:test && npm run build:prod // 串行执行

2. 钩子

npm脚本有pre和post两个钩子,会在命令的前后执行,如:

    "prebuild": "rm -f dist/prod/*.js && rm -f dist/test/*.js",
    "postbuild": "echo \"build success.\"",
    "build": "npm run build:test && npm run build:prod",

当前执行npm run build时,实际是执行情况是prebuild->build->postbuild

四、相关链接

http://javascript.ruanyifeng.com/nodejs/packagejson.html#toc1
https://docs.npmjs.com/misc/scripts

相关文章

  • npm配置文件脚本定义.md

    [TOC] 一、npm脚本原理 npm脚本的原理非常简单。每当执行npm run,就会自动新建一个Shell,在这...

  • React项目文件目录详解

    ├── README.md 项目介绍 ├── package.json npm包配置文件,里面定义了项目的npm脚...

  • npm中script脚本的使用

    一、什么是 npm 脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 ...

  • package.json配置之script

    script配置 实则为npm脚本(npm允许在package.json文件里面,使用scripts字段定义脚本命...

  • npm入门

    一、什么是 npm 脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 ...

  • npm的使用

    关键词:npm 定义:npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 上面代...

  • npm常用命令

    1.npm -v 查看npm版本 2.使用 npm 命令安装模块 npm install md5(安装md5) ...

  • 构建脚手架工具

    写脚本 定义命令 写命令,借助 commander 库 登陆 / 创建 npm 账号 发布

  • Android Gradle自定义插件

    背景 入职新公司后,发现项目中有用到python脚本根据自定义配置文件生成Java代码的部分,而且脚本与配置文件以...

  • npm package.json 属性详解

    npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 { "scripts":{"...

网友评论

      本文标题:npm配置文件脚本定义.md

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