我有一些需要开发的东西-例如,我不想让我的分布式构建文件肿的模拟。
在RequireJS中,您可以在插件文件中传递配置,然后根据需要进行配置。
对于webpack,似乎没有做到这一点的方法。首先创建一个环境中运行时配置我用resolve.alias重新指向根据环境,例如要求:
// All settings.
var all = {
fish: 'salmon'
};
// `envsettings` is an alias resolved at build time.
module.exports = Object.assign(all, require('envsettings'));
然后,在创建webpack配置时,我可以动态分配envsettings
指向的文件(即webpackConfig.resolve.alias.envsettings = './' + env
)。
但是我想做类似的事情:
if (settings.mock) {
// Short-circuit ajax calls.
// Require in all the mock modules.
}
但是很明显,如果环境不是模拟的,我不想构建那些模拟文件。
我可能可以再次使用resolve.alias手动将所有这些要求重新指向存根文件-但是有没有一种感觉不那么hacky的方法?
有什么想法可以做到吗?谢谢。
我一直在努力在我的webpack配置中设置env。我通常想要设置env,以便可以在
webpack.config.js
,postcss.config.js
以及入口点应用程序本身内部(index.js
通常)访问它。我希望我的发现可以对某人有所帮助。我想出的解决方案是传入
--env production
或--env development
,然后在其中设置模式webpack.config.js
。但是,这并不能帮助我在所需的位置进行env
访问(请参见上文),因此我还需要process.env.NODE_ENV
按照此处的建议进行显式设置。webpack.config.js
以下是我最相关的部分。