为什么会用process.env.NODE_ENV来判断,浏览器环境下没有process啊,还是说rollup打包的时候做了什么处理???

来源:2-2 new Vue 发生了什么

asdffffff

2018-10-02

写回答

2回答

高子蒙0

2018-11-24

在Webpack.config.js中你会定义`{'process.env.NODE_ENV':JSON.stringify('production')}`

DefinePlugin插件会在打包构建的时候修改Babel的AST,创建process对象并设置env的NODE_ENV为'production':
https://github.com/webpack/webpack/blob/master/lib/DefinePlugin.js#L167

这种处理方法与c/c++的“条件编译”是一样的。之所以用process.env.NODE_ENV是为了与node保持一致。

这样可以通过export NODE_ENV=[production|development]来设置。

1
0

ustbhuangyi

2018-10-02

打包构建的时候做了处理

0
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程