经过长时间的搜索,似乎找到了一种方法。
首先,这意味着使用requirejs optimiser, i、 e.预编译模块,可能是一个缩小的文件。
其次,在optimiser options 有一个namespace
选项,基本上是所有require、define和module调用的前缀,因此它们不再干扰站点上的其他requirejs。
这么说吧$ node r.js -o build.js
使用以下版本。js文件:
({
paths: {
\'modulename\': \'path/to/modulefile\',
\'modulename\': \'path/to/modulefile\',
\'modulename\': \'path/to/modulefile\',
\'requireLib\': \'path/to/requirejs\'
},
name: "js/main",
out: "js/bundle.js",
include: "requireLib",
namespace: "mynamespace",
})
将转换中定义的模块
js/main.js
到
js/bundle.js
小型化,包括所有
require
d模块和所有模块
require()
该缩小文件中的调用将是
mynamespace.require()
在输出文件中调用。
这个include
选项很重要,以便优化人员实际包括requirejs
它本身在捆绑包中,并将其称为“require”(即“requireLib”)以外的其他名称是必需的,这样优化人员内部就不会感到困惑。
最后this file 具有所有可用的优化器生成。js选项。
It is insane to think that any plugin or theme author using requirejs should be aware of this, 事实上,我认为大多数开发人员直到遇到与另一个插件或主题的这种不兼容组合时才会这样做。然而,这是一种确保requirejs在Wordpress项目中使用时不会引起问题的方法。