Knockout.js RequireJS:添加全局依赖项的正确方法

Knockout.js RequireJS:添加全局依赖项的正确方法,knockout.js,requirejs,durandal,Knockout.js,Requirejs,Durandal,我正在使用基于Durandal的解决方案。我对require之类的东西还比较陌生(所以如果我说的是废话,请纠正我) 出于好奇,我运行了我的Javascript文件(这对我来说是全新的)。。。这让我意识到了以下几点 我似乎收到了很多“ko未定义”的警告 这显然是因为击倒并没有作为依赖项传递。。。我不知道到底该怎么做?还是我必须为那件事做些什么 我的外部库都被添加到另一个脚本文件夹中以进行捆绑和压缩,我不认为向每个依赖文件添加“something/something/something/script

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

出于好奇,我运行了我的Javascript文件(这对我来说是全新的)。。。这让我意识到了以下几点

我似乎收到了很多“ko未定义”的警告

这显然是因为击倒并没有作为依赖项传递。。。我不知道到底该怎么做?还是我必须为那件事做些什么

我的外部库都被添加到另一个脚本文件夹中以进行捆绑和压缩,我不认为向每个依赖文件添加“something/something/something/scripts/knockout”是100%正确的。。。(尽管我认为它会起作用)


在requireJava脚本函数的上下文中,是否有处理第三方库或全局使用的库(如jquery/knockout)的标准方法。。。或者这只是一厢情愿/困惑的想法?

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模块。

是的,它们包含在全球范围内。因此,根据经验。。amd模块只是“定制”功能,从来没有第三方库?我想可以肯定地说。除非您找到作为amd模块构建的第三方库。。。。或者,除非您决定升级到即将推出的Durandal 2.0,其中ko和jquery将默认作为AMD模块加载。关于JSHint,它允许在文件的开头定义全局变量,例如,
/*global define,ko,your,globals,HERE*/
<script type="text/javascript" src="knockout.js"></script>
<script type="text/javascript" src="jquery.js"></script>