【发布时间】:2012-07-13 11:52:04
【问题描述】:
R.js 没有加载我的 shim,因此 jQuery 在 tinyMCE 之前加载,并且 tiny 在加载之前被初始化。我怎样才能让垫片工作?:
构建-js.js:
var requirejs = require('requirejs');
var config = {
mainConfigFile: '../js/main.js',
include: [],
name: 'main',
out: '../js/build/build.js',
};
requirejs.optimize(config, function (buildResponse) {
var contents = fs.readFileSync(config.out, 'utf8');
});
main.js:
require.config({
paths: {
jQuery: 'common/libs/jquery/jquery-min',
TinyMCE: 'common/libs/tinyMCE/tiny_mce',
},
shim: {
'jQuery': {
deps:['TinyMCE'],
exports: '$',
},
'jQueryUi': {
deps: ['jQuery']
},
'jQuerySelectmenu': {
deps: ['jQuery', 'jQueryUi']
},
'jQueryAutosize': {
depts: ['jQuery']
},
'Underscore': {
exports: '_'
},
'Backbone': {
deps: ['Underscore', 'jQuery'],
exports: 'Backbone'
}
}
});
require(['common/src/app'], function (App) {
App.initialize();
});
【问题讨论】:
-
require.config() 没有被解析为 r.js。您应该为 r.js 创建一个配置文件。看这里:stackoverflow.com/questions/11323414/…
-
不是重点,但我刚刚发现您可以使用lodash 代替下划线,并且会丢失下划线垫片。
-
你真的想在 jquery 之前加载 tiny 吗?
-
旧的,也许不是问题,但是对于您的 jQueryAutosize 垫片,您有“depts”(而不是“deps”)。
标签: javascript node.js requirejs