如何在 jsfiddle 上使用 q promise 2.X 和 requirejs?
how to use q promise 2.X with requirejs on jsfiddle?
这个
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
然而,这工作正常:
requirejs.config({
paths: {
'q' : '//cdnjs.cloudflare.com/ajax/libs/q.js/1.4.1/q.min'
}});
我查了一下,发现 Q v2 现在是实验性的。在源代码中我们可以看到它依赖于以下库
var WeakMap = require("weak-map");
var iterate = require("pop-iterate");
var asap = require("asap");
这种类型的 require/module 导入适用于 node/browserify。它不支持 require.js。根据文档:-
This is Q version 2 and is experimental at this time. If you install the latest Q from npm, you will get the latest from the version 1 release train.
因此,除非我们在 nodejs/browserify 中使用它,否则此时最好坚持使用 v1。
这个
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
然而,这工作正常:
requirejs.config({
paths: {
'q' : '//cdnjs.cloudflare.com/ajax/libs/q.js/1.4.1/q.min'
}});
我查了一下,发现 Q v2 现在是实验性的。在源代码中我们可以看到它依赖于以下库
var WeakMap = require("weak-map");
var iterate = require("pop-iterate");
var asap = require("asap");
这种类型的 require/module 导入适用于 node/browserify。它不支持 require.js。根据文档:-
This is Q version 2 and is experimental at this time. If you install the latest Q from npm, you will get the latest from the version 1 release train.
因此,除非我们在 nodejs/browserify 中使用它,否则此时最好坚持使用 v1。