如何将仅编译时的全局变量传递给我的代码?

我想检查代码是否在开发模式下运行,然后,例如将 redux devtools enchancer 传递给 redux store。和其他类似情况。我知道我可以使用process.env.NODE_ENV,但它太冗长了。我也可以将它写入变量一次,在不同的模块中,然后导出它。但是只导入一个变量并且只有一个变量的模块对我来说似乎是不合理的。我想要实现的完美解决方案是全局访问该变量,而无需在代码中导入或声明它,并在编译时将其动态替换为字符串 ie"development"而不是process.env.NODE_ENV. 我想要的一个很好的例子是 React 代码库中的“伪全局”__DEV__变量。那么我该如何实现呢?先感谢您。



qq_花开花谢_0
浏览 71回答 1
1回答

婷婷同学_

我找到了解决方案。Webpack DefinePlugin 是我需要的。// webpack.confg.jsconst webpack = require('webpack');//...module.exports = (env, argv) => ({  //...  plugins: [    //...    new webpack.DefinePlugin({      IS_DEV: argv.mode !== 'production'    })  ]})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript