在我的公司,我们有一个重要的AMD RequireJS代码库,我正在尝试使用webpack捆绑其中一些代码。 这是架构的样子:
somedir
│ app.js
│
└───anotherdir
|
├─── module1
│ file1.js
│ file2.js
│
├─── module2
│ file3.js
│
└─── module3
file4.js
file5.js
file6.js
每个文件都是这样写的:
define('ATAG/MODULE/ID, ['somedeps'], function (somedeps) {});
因此,例如file1.js
可能看起来像
define('ATAG/module1/file1, [], function () {});
我们有一个RequireJS配置,它将ATAG
映射到anotherdir
,我们可能会为不同的标签添加更多配置。
现在我正在尝试使用webpack从app.js
创建一个包,但我不知道如何复制require.config({ paths: { ATAG: 'anotherdir' } })
的行为。
到目前为止,我对resolve.alias
的尝试都没有成功。
根据我们对RequireJS的使用(不需要相对路径),甚至可以使用webpack实现这样的功能吗?
谢谢。
答案 0 :(得分:0)
您使用resolve.alias
:
// foo.js
var a = require('ATAG'); // resolved to anotherdir/index.js
var b = require('ATAG/bar'); // resolved to anotherdir/bar.js
// webpack.config.js
const path = require('path');
module.exports = {
entry: './foo',
output: {
filename: 'bundle.js'
},
resolve: {
alias: {
ATAG: path.join(__dirname, '/anotherdir')
}
}
};