这个
requirejs.config({
paths: {
'q' : '//cdnjs.cloudflare.com/ajax/libs/q.js/2.0.3/q.min'
}});
require(['q'], function(Q) {
console.log("In Loaded callback");
console.log("Q: %o", Q);
return {};
});
失败了:
Module name "weak-map" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded
File: require.min.js, Line: 1, Column: 1948
请参阅JSFiddle
然而,这很好用:
requirejs.config({
paths: {
'q' : '//cdnjs.cloudflare.com/ajax/libs/q.js/1.4.1/q.min'
}});
答案 0 :(得分:2)
我查了一下,发现Q v2现在是实验性的。在源代码中,我们可以看到它与后续库
有依赖关系var WeakMap = require("weak-map");
var iterate = require("pop-iterate");
var asap = require("asap");
这种类型的require / module导入用于node / browserify。它不会支持require.js。根据文件: -
这是Q版本2,目前正在试验中。如果您从npm安装最新的Q,您将获得版本1发布列车中的最新版本。
因此,除非我们在nodejs / browserify中使用它,否则最好在这个时间点坚持使用v1。