use*_*756 12 javascript node.js requirejs
R.js没有加载我的垫片,因此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');
});
Run Code Online (Sandbox Code Playgroud)
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();
});
Run Code Online (Sandbox Code Playgroud)
我最近遇到了一些类似的问题让我有点难过.我不熟悉TinyMCE代码,但我发现你还没有填充它.
垫片(通常)不能依赖于AMD样式库.不确定TinyMCE是否属于AMD模块样式类别,但如果确实如此......那你就麻烦了.如果没有,你也需要垫片.
https://github.com/jrburke/requirejs/wiki/Upgrading-to-RequireJS-2.0#wiki-shim
"垫片"配置的重要警告:
只使用其他"shim"模块作为shimmed脚本的依赖项,或者没有依赖项的AMD库,并在创建全局(如jQuery或lodash)之后调用define().否则,如果您使用AMD模块作为shim配置模块的依赖项,则在构建之后,可能不会在构建中的填充代码执行之后评估该AMD模块,并且将发生错误.最终的解决方法是升级所有已调整的代码以进行可选的AMD define()调用.
| 归档时间: |
|
| 查看次数: |
7621 次 |
| 最近记录: |