问题描述
I have some things for development - e.g mocks which I would like to not bloat my distributed build file with.
In RequireJS you can pass a config in a plugin file and conditonally require things in based on that.
For webpack there doesn't seem to be a way of doing this. Firstly to create a runtime config for an environment I have used resolve.alias to repoint a require depending on the environment, e.g:
Then when creating the webpack config I can dynamically assign which file envsettings
points to (i.e. webpackConfig.resolve.alias.envsettings = './' + env
).
However I would like to do something like:
But obviously I don't want to build in those mock files if the environment isn't mock.
I could possibly manually repoint all those requires to a stub file using resolve.alias again - but is there a way that feels less hacky?
Any ideas how I can do that? Thanks.
You can use the define plugin.
I use it by doing something as simple as this in your webpack build file where env
is the path to a file that exports an object of settings:
and then this in your code
It will strip this code out of your build file if the condition is false. You can see a working Webpack build example here.
这篇关于使用 Webpack 基于环境的条件构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!