我試圖將舊的require.js grunt構建的應用程序轉換爲webpack。在我們當前的grunt設置中,我們構建了兩個不同的bundle,並且我們有一個引導文件,我們決定在啓動應用程序時需要哪個bundle。多個條目的Webpack多個resolve.alias列表
我認爲在切換到webpack時應該保持這種結構。但是,當我試圖配置多個條目的webpack時遇到了問題,我無法爲單獨的入口點提供單獨的解析別名列表。我需要能夠提供這些別名列表,因爲我們有許多模塊需要其他模塊,例如require("my-module")
,並且我們在這兩個bundle中都有不同的my-module
實例。
我找不到用webpack實現這個功能的方法。這可能是我被鎖定在這個思維模式之中,並且看不到這個問題的另一種解決方案,因此歡迎任何建議!
這裏就是我想這樣做代碼:
webpack.config.js
module.exports = {
entry: {
cats: ["./app/app-cats"],
dogs: ["./app/app-dogs"]
},
output: {
path: path.join(__dirname, "bin"),
filename: "[name].entry.js"
},
resolve: {
alias: {
// I would like to provide both entry points their own
// list of aliases, but currently webpack is not supporting this.
cats: {
animals: './cats.js'
},
dogs: {
animals: './dogs.js'
},
}
},
};
以下是文件的其餘部分來說明我們當前的構建是如何工作的:
貓.js文件
var cats = ['dave', 'henry', 'martha'];
module.exports = cats;
dogs.js
var dogs = ['hulda', 'hilla'];
module.exports = dogs;
APP-cats.js
var animals = require('animals')
console.log(animals);
APP-dogs.js
var animals = require('animals')
console.log(animals);