Javascript 如何在requirejs优化期间排除插件依赖关系
我已经找了一段时间了,但还没有找到解决问题的办法。我正在使用require.js和一个插件来动态加载一些模块的数据Javascript 如何在requirejs优化期间排除插件依赖关系,javascript,requirejs,r.js,Javascript,Requirejs,R.js,我已经找了一段时间了,但还没有找到解决问题的办法。我正在使用require.js和一个插件来动态加载一些模块的数据 define(['Plugin!data', 'dependency'], function(data, dep) { ... } 当我尝试使用r.js将所有模块优化为单个构建时,问题就出现了 requirejs.optimize({ baseURL: '/js', name: 'main', ... }) 优化器尝试通过插件加载数据。有没有办法避免这
define(['Plugin!data', 'dependency'], function(data, dep) {
...
}
当我尝试使用r.js将所有模块优化为单个构建时,问题就出现了
requirejs.optimize({
baseURL: '/js',
name: 'main',
...
})
优化器尝试通过插件加载数据。有没有办法避免这种情况
ie:如何告诉优化器不要使用插件的格式您可以在构建配置中使用
排除来排除此类模块。例如:
({
baseUrl: "js",
dir: "build",
removeCombined: true,
optimize: "none",
modules: [
{
name: "built",
create: true,
include: [
"modA",
],
exclude: [
"text!./x.json",
],
},
],
})
但是,问题是在exclude
中没有模式匹配,最终不得不单独列出每个模块,这在大型代码库中可能有点问题
另一种方法是使用onBuildWrite
删除所有以文本开头的模块代码>:
({
baseUrl: "js",
dir: "build",
removeCombined: true,
optimize: "none",
modules: [
{
name: "built",
create: true,
include: [
"modA",
],
},
],
// Use onBuildWrite to exclude modules loaded through plugin.
onBuildWrite: function (moduleName, path, contents) {
if (moduleName.lastIndexOf("text!", 0) === 0) {
return "";
}
return contents;
},
})