我试图从RequireJs切换到webpack来处理js加载,sass处理&其他类似的东西。
在RequireJs中,可以指定模块的依赖关系
// file.js
require(['moduleA','moduleB'],function(A,B) {
...
}
我想指定moduleA需要jquery例如
// requirejs.config.js
require.config({
...
shim:{
moduleA:{
deps:['jquery']
}
}
})
我试图找到一种方法在webpack中做同样的事情
// webpack.config.js
module.exports = {
entry: toObject(glob.sync('src/**/*.js*')),
output: {
path: './bin',
filename: '[name].js'
},
resolve: {
alias: {
'moduleA': '/path/to/moduleA',
...
}
}
};
function toObject(paths) {
// I return an object of paths
}
但是我无法找到指定moduleA需要另一个模块的方法!
有人在这里有线索吗?
答案 0 :(得分:1)
你不需要。你只需require()
你需要的任何模块,它就可以使用。
您需要使用RequireJS执行此操作的原因是RequireJS是异步的,模块是异步加载的,因此它需要知道首先加载什么。 Webpack(和CommonJS一般)是同步的。当你进入模块时,一切都已经加载。