JavaScript - 使用 requireJS 加载 Bluebird 模块
JavaScript - Loading Bluebird module using requireJS
我 运行 是一个纯粹的 JavaScript 项目(不使用节点),我需要为 Promises 加载一个名为 Bluebird 的模块。
我没有使用 JavaScript 加载模块的经验,过去我一直使用 mean stack。
我在 index.html 中有以下内容:
<script data-main="assets/js/app/App.js" src="assets/js/vendor/require.js"></script>
<script src="assets/js/app/App.js"></script>
我在网上看到 App.js 我应该有:
define(["bluebird"],function(Promise){
//load modules
});
问题是我不知道用什么代替“//load modules”来加载bluebird.js。我试过使用:
define(["bluebird"],function(Promise){
Promise = require('bluebird');
});
但是这个有错误:
require.js:5 Uncaught Error: Mismatched anonymous define() module: function (Promise){
Promise = require('bluebird');
}
请注意,我确实尝试过仅使用 var Promise = require('bluebird');
,但这返回了 Uncaught Error: Module name "bluebird" has not been loaded yet for context: _. Use require([])
从 requirejs 错误文档中得出我的原始代码是正确的,但我的 index.html 中存在问题导致它失败。
包含蓝鸟的正确方法是:
require(['bluebird'], function (Promise) { //module loaded });
在 //module loaded
中,您需要放入大部分 App.js 代码。
如果 requirejs 正在加载它,您需要确保不包含 for bluebird。
这是另一种方法:
define(function (require) {
"use strict";
var Promise = require('bluebird');
...
}
请注意,Bluebird 模块不会延迟加载,这只是一个语法糖,可提高依赖项的可读性。
我 运行 是一个纯粹的 JavaScript 项目(不使用节点),我需要为 Promises 加载一个名为 Bluebird 的模块。 我没有使用 JavaScript 加载模块的经验,过去我一直使用 mean stack。
我在 index.html 中有以下内容:
<script data-main="assets/js/app/App.js" src="assets/js/vendor/require.js"></script>
<script src="assets/js/app/App.js"></script>
我在网上看到 App.js 我应该有:
define(["bluebird"],function(Promise){
//load modules
});
问题是我不知道用什么代替“//load modules”来加载bluebird.js。我试过使用:
define(["bluebird"],function(Promise){
Promise = require('bluebird');
});
但是这个有错误:
require.js:5 Uncaught Error: Mismatched anonymous define() module: function (Promise){
Promise = require('bluebird');
}
请注意,我确实尝试过仅使用 var Promise = require('bluebird');
,但这返回了 Uncaught Error: Module name "bluebird" has not been loaded yet for context: _. Use require([])
从 requirejs 错误文档中得出我的原始代码是正确的,但我的 index.html 中存在问题导致它失败。
包含蓝鸟的正确方法是:
require(['bluebird'], function (Promise) { //module loaded });
在 //module loaded
中,您需要放入大部分 App.js 代码。
如果 requirejs 正在加载它,您需要确保不包含 for bluebird。
这是另一种方法:
define(function (require) {
"use strict";
var Promise = require('bluebird');
...
}
请注意,Bluebird 模块不会延迟加载,这只是一个语法糖,可提高依赖项的可读性。