Javascript 使用require.js加载非amd模块
目前,我正在使用require.js进行一个有趣的项目,除了一个名为prism.js的代码语法插件外,一切都很好。我可以看到这个插件是通过chrome中的网络标签拉出来的,但是插件没有初始化 我不确定这是一个需要解决的问题,还是插件的问题,我想知道是否有人可以提供帮助 下面是我的main.js:Javascript 使用require.js加载非amd模块,javascript,requirejs,Javascript,Requirejs,目前,我正在使用require.js进行一个有趣的项目,除了一个名为prism.js的代码语法插件外,一切都很好。我可以看到这个插件是通过chrome中的网络标签拉出来的,但是插件没有初始化 我不确定这是一个需要解决的问题,还是插件的问题,我想知道是否有人可以提供帮助 下面是我的main.js: require.config({ // 3rd party script alias names paths: { // Core Libraries modernizr: "l
require.config({
// 3rd party script alias names
paths: {
// Core Libraries
modernizr: "libs/modernizr",
jquery: "libs/jquery",
underscore: "libs/lodash",
backbone: "libs/backbone",
handlebars: "libs/handlebars",
text: "libs/text",
prism: "plugins/prism",
templates: "../templates"
},
// Sets the configuration for your third party scripts that are not AMD compatible
shim: {
"backbone": {
"deps": ["underscore", "jquery", "handlebars"],
"exports": "Backbone" //attaches "Backbone" to the window object
}
}
});
// Include Specific JavaScript
require(['prism', 'modernizr', 'jquery', 'backbone', 'routers/router', 'views/AppVIew' ],
function(Prism, Modernizr, $, Backbone, Router, App) {
this.router = new Router();
this.App = new App();
}
);
棱镜也应添加到
垫片中。正如主干网一样,它不符合AMD,因此必须以相同的方式声明。更改垫片部分以包括prism,并确保它导出“prism”:
把手和棱镜与AMD(异步模块定义)不兼容,因此您需要垫片如下所示
requirejs.config({
shim: {
'backbone': {
"deps": ["underscore", "jquery", "handlebars"],
"exports": "Backbone" //attaches "Backbone" to the window object
},
'handlebars': {
"exports": 'Handlebars'
},
'prism': {
"exports": "Prism"
}
}
});
您可能希望查看require.js shim文档站点;
希望这将有助于即使插件没有依赖项?是的,我的错,我认为称它为“插件”意味着一个jquery
插件,它依赖于jquery。一旦它被“填充”,我如何使用它?就像任何其他模块一样:require('prism')
或将其作为依赖项包含在define
的参数中。我使用的是three.js和OrbitControls.js,而OrbitControls是非AMD。我尝试按照此处建议的设置进行操作,但无法使其正常工作。OrbitControls中是否存在需要不同设置的内容?OrbitControls在内部使用three.js,但我只知道这些。我收到的错误消息是“UncaughtTypeError:THREE.OrbitControls不是构造函数”。感谢您提供的帮助。
requirejs.config({
shim: {
'backbone': {
"deps": ["underscore", "jquery", "handlebars"],
"exports": "Backbone" //attaches "Backbone" to the window object
},
'handlebars': {
"exports": 'Handlebars'
},
'prism': {
"exports": "Prism"
}
}
});