0

我正在使用基于 Durandal 的解决方案。我对 require 之类的东西还很陌生(所以如果我在说垃圾,请纠正我)

define(['durandal/http', 'durandal/app', 'durandal/plugins/router', 'durandal/plugins/notify'], function (http, app, router, notify) {
    var userInfo = {
        AccessFrom: ko.observable(),
        AccessTo: ko.observable()
        }    
...
});

出于好奇,我通过JSHint运行了我的 javas 脚本文件(这对我来说是全新的)......它让我意识到了以下内容。

我似乎收到了很多“'ko' is not defined”的警告。

这显然是因为淘汰赛尚未作为依赖项传递......我不确定如何准确?或者我必须为此做些什么?

我的外部库都被添加到另一个脚本文件夹以用于捆绑和压缩目的,我不认为向每个依赖文件添加“某事/某事/某事/脚本/敲除”是 100% 正确的......(虽然它会我假设的工作)

是否有标准方法来处理 3rd 方库,或在需要 java-script 函数的上下文中全局使用的库(如 jquery/knockout)......或者这只是一厢情愿/困惑的想法?

4

1 回答 1

0

Durandal 1.2 期望将 knockoutjs、jquery 和 requirejs 包含在全局范围内,只需将它们包含在您的页面中即可

<script type="text/javascript" src="knockout.js"></script>
<script type="text/javascript" src="jquery.js"></script>

因此,当您定义 AMD 模块时,您不必担心将它们作为依赖项包含在内。//

*编辑*

RainerAtSpirit 指出,在即将到来的 Durandal 2.0 中,ko 和 jquery 将默认作为 AMD 模块加载。

于 2013-07-04T16:12:46.667 回答