Requirejs:非amd库
Requirejs : Non amd library
我有一个 script.js 包含在我客户的网站中。该客户使用 requirejs,但他在正文末尾附加了 script.js,但没有明确使用 requirejs 来加载它。
在 script.js 中,我有与 amd 兼容的库,而其他则不兼容。问题是 requirejs 会自动加载 amd 库。而且我无法在我自己的库中访问它们,因为它与 amd 不兼容。
你有什么想法吗?
谢谢
RequireJs 有能力"shim" 配置。在您的 requirejs 配置调用中,使用以下内容(来自 requirejs 页面)。 Backbone 在这种情况下不是 requirejs 模块并用作示例。
requirejs.config({
shim: {
'backbone': {
//These script dependencies should be loaded before loading
//backbone.js
deps: ['underscore', 'jquery'],
//Once loaded, use the global 'Backbone' as the
//module value.
exports: 'Backbone'
}
})
然后您可以像使用任何其他模块一样使用 Backbone:
define(['backbone'], function (Backbone) {
return Backbone.Model.extend({});
});
我有一个 script.js 包含在我客户的网站中。该客户使用 requirejs,但他在正文末尾附加了 script.js,但没有明确使用 requirejs 来加载它。
在 script.js 中,我有与 amd 兼容的库,而其他则不兼容。问题是 requirejs 会自动加载 amd 库。而且我无法在我自己的库中访问它们,因为它与 amd 不兼容。
你有什么想法吗?
谢谢
RequireJs 有能力"shim" 配置。在您的 requirejs 配置调用中,使用以下内容(来自 requirejs 页面)。 Backbone 在这种情况下不是 requirejs 模块并用作示例。
requirejs.config({
shim: {
'backbone': {
//These script dependencies should be loaded before loading
//backbone.js
deps: ['underscore', 'jquery'],
//Once loaded, use the global 'Backbone' as the
//module value.
exports: 'Backbone'
}
})
然后您可以像使用任何其他模块一样使用 Backbone:
define(['backbone'], function (Backbone) {
return Backbone.Model.extend({});
});