为什么在webpack打包的react/vue等应用中,有process对象
发布于 7 年前 作者 wangchaoduo 7346 次预览 最后一次回复是 7 年前 来自 问答
一般都会在生产环境webpack.config中配置
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
但是我在vue的应用代码中打印process后,出来
{"title":"browser","browser":true,"env":{},"argv":[],"version":"","versions":{}}
我个人的一点小理解,process是node核心模块,脱离了node引擎不应该存在,那我觉得或许是webpack在某个地方将process对象引入进去,但是通过打印process.cwd()返回为’/’,所以应该也不是被引入的,很疑惑这个process对象从何而来,为何存在
4 回复
webpack并不总是会引入process对象,而是在应用使用到process对象时,对process对象进行polyfill处理,通常出现在靠
process.env.NODE_ENV来确定是生产还是开发环境的地方(开发环境会输出一些提示和报错信息,生产环境不会) 相关代码可以在webpack的依赖的依赖中找到,代码不长,直接贴在下面了归根结底这是一个假的process
@dislido 感谢解答,有莫大帮助
@billyhoomm 看到node-libs-browser 才知道原来啥东西都能造个假- -,还是感谢一楼科普