基于配置值的 Webpack 条件构建
Webpack conditional build based on configuration values
我正在寻找最终相当于 Require.JS 的 has.js 集成的 Webpack。
在Require.JS中,您可以根据has.js中的变量编译不同的代码路径。 Webpack 是否有等效的 loader/plugin 来做同样的事情?
示例:
config.js
module.exports = {
option1: 'foo' // other option is 'bar'
}
然后在某处的代码中有如下内容
code.js
var a;
if (option1 === 'foo') {
a = require('fooModule');
} else if (option1 === 'bar') {
a = require('barModule');
}
并且构建仅在评估为 true 的条件下输出代码?
或者,类似这样的方法也可以:
import MyLibrary from './modules/' + config.option1 + 'Module.js';
会是目前实现我正在寻找的最佳实践吗?最终,目标是拥有一组源代码,可以根据配置中的值编译成特定的(ish)目标,同时在最终构建中也不会发送不适用的代码。
这似乎是最好的,最 webpack 惯用的 方式来处理这个是通过
你可以使用 webpack DefinePlugin to do this. Pete Hunt's Webpack Howto 有一个很好的实现示例。
webpack-hasjs-plugin 应该做你想做的事。
我正在寻找最终相当于 Require.JS 的 has.js 集成的 Webpack。
在Require.JS中,您可以根据has.js中的变量编译不同的代码路径。 Webpack 是否有等效的 loader/plugin 来做同样的事情?
示例:
config.js
module.exports = {
option1: 'foo' // other option is 'bar'
}
然后在某处的代码中有如下内容
code.js
var a;
if (option1 === 'foo') {
a = require('fooModule');
} else if (option1 === 'bar') {
a = require('barModule');
}
并且构建仅在评估为 true 的条件下输出代码?
或者,类似这样的方法也可以:
import MyLibrary from './modules/' + config.option1 + 'Module.js';
这似乎是最好的,最 webpack 惯用的 方式来处理这个是通过
你可以使用 webpack DefinePlugin to do this. Pete Hunt's Webpack Howto 有一个很好的实现示例。
webpack-hasjs-plugin 应该做你想做的事。