提问人:Jesper Jensen 提问时间:4/26/2015 最后编辑:Ying-Shan LinJesper Jensen 更新时间:6/16/2022 访问量:699
通过 JSPM 从 NPM 主干
Backbone from NPM via JSPM
问:
我正在尝试使用JSPM从NPM安装以解析客户端依赖关系。在命令提示符中使用以下命令进行简单操作:backbone.marionette
jspm install marionette=npm:backbone.marionette
所有依赖项 - jQuery 除外都会自动下载和安装。但是我收到一个运行时错误:
无法调用未定义的 Deferred。
我正在查看代码,发现问题出在主干源代码行 9、10 和 11 中
} else if (typeof exports !== 'undefined') {
var _ = require("underscore");
factory(root, exports, _);
当在 下运行时,从这里调用 ,很明显,最后一个参数 被遗漏了。当我在 github 上查看主干源代码时,相同的行如下所示:traceurJS
factory-method
$
} else if (typeof exports !== 'undefined') {
var _ = require('underscore'), $;
try { $ = require('jquery'); } catch(e) {}
factory(root, exports, _, $);
这里添加了 jQuery 依赖项和选项 (try/catch)。 我必须在这里补充一点,NPM 版本标记为与 GitHub 相同的版本 - 1.1.2。
为什么会有这种差异?这似乎已经有一段时间了,已经发布了一些解决方法,例如在代码中添加以下内容:
$ = require('jquery');
Backbone = require('backbone');
Backbone.$ = $
我不喜欢这个,尽管它有效,因为它是一种解决方法,而且似乎它不存在。
答: 暂无答案
评论