我正在寻找与Require.JS has.js 集成相当的Webpack。
在Require.JS中,您可以根据has.js中的变量编译不同的代码路径。 Webpack是否有一个等效的加载器/插件来做同样的事情?
示例:
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';
this stackoverflow answer会成为实现我所寻找目标的最佳做法吗?最终,目标是拥有一组源,可以根据配置中的值编译到特定(ish)目标,而不是在最终构建中向线路发送不适用的代码。
答案 0 :(得分:2)
似乎最好的,大多数 webpack惯用方式来处理这个问题是通过
答案 1 :(得分:2)
您可以使用webpack DefinePlugin执行此操作。 Pete Hunt的Webpack Howto有一个很好的实施例子。
答案 2 :(得分:-1)
webpack-hasjs-plugin应该做你想做的事。