process.env.NODE_ENV 开发与生产模式

cross-env能跨平台地设置及使用环境变量

大多数情况下,在windows平台下使用类似于: NODE_ENV=production的命令行指令会卡住,windows平台与POSIX在使用命令行时有许多区别(例如在POSIX,使用$ENV_VAR,在windows,使用%ENV_VAR%。。。)

cross-env让这一切变得简单,不同平台使用唯一指令,无需担心跨平台问题
这个迷你的包(cross-env)能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。

npm安装方式

npm i --save-dev cross-env

在npm脚本(多是package.json)里这么配置

{
  "scripts": {
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }
}

运行npm run build,这样NODE_ENV便设置成功,无需担心跨平台问题

webpack 4

以前我们使用webpack,通常需要定义两个配置文件,一个用于development环境,一个用于生产环境。

  • development中,我们用于通常要配置webpack-dev-server和一些杂七杂八的设置
  • production中,则需要配置UglifyJSPlugin, sourcemaps等

通常在package.json,配置一下scripts:

"scripts": {
  "dev": "webpack --mode development",
  "build": "webpack --mode production"
}

Production mode做了些什么事情呢?主要有minification, scope hoisting, tree-shaking等等。对应的Development mode则主要是优化编译速度,输出一个没有压缩的文件。

简单讲完这零配置和打包模式的新特性,我们接下来了解一下在实际运用中的一些新特性吧!

你可能感兴趣的:(node)