Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何避免Durandal 2中的全局变量_Javascript_Jquery_Requirejs_Durandal - Fatal编程技术网

Javascript 如何避免Durandal 2中的全局变量

Javascript 如何避免Durandal 2中的全局变量,javascript,jquery,requirejs,durandal,Javascript,Jquery,Requirejs,Durandal,据我所知,Durandal 2.x假定没有全局库。以下是从文档中截取的用于定义全局模块的代码: define('jquery', function () { return jQuery; }); define('knockout', function () { return ko; }); 如果我理解的目的是正确的,那么这些依赖项应该以下一种方式在模块中使用: define(['jquery', 'ko'], function (jquery, ko) { debug

据我所知,Durandal 2.x假定没有全局库。以下是从文档中截取的用于定义全局模块的代码:

define('jquery', function () { return jQuery; });
define('knockout', function () { return ko; });
如果我理解的目的是正确的,那么这些依赖项应该以下一种方式在模块中使用:

define(['jquery', 'ko'],
    function (jquery, ko) {
         debugger;
    });

但这些依赖项
(jquery,ko)
都没有在模块的范围内定义。您能帮我找出我在这里遗漏了什么吗?

有两种方法可以在Durandal中加载knockout和jQuery(以及其他第三方LIB)

通过脚本标记 e、 g

这一次,在您自己的模块中,您必须声明'knockout'和'jquery'为依赖项(如果您使用它们),否则requirejs将抛出错误

<script type="text/javascript" src="~/Scripts/jquery-1.9.1.js"></script>
<script type="text/javascript" src="~/Scripts/knockout-2.3.0.js"></script>
<script type="text/javascript" src="~/Scripts/bootstrap.js"></script>
<script src="lib/require/require.js" data-main="app/main"></script>
requirejs.config({
    paths: {
        'text': '../lib/require/text',
        'durandal':'../lib/durandal/js',
        'plugins' : '../lib/durandal/js/plugins',
        'transitions' : '../lib/durandal/js/transitions',
        'knockout': '../lib/knockout/knockout-2.3.0',
        'bootstrap': '../lib/bootstrap/js/bootstrap',
        'jquery': '../lib/jquery/jquery-1.9.1'
    },
    shim: {
        'bootstrap': {
            deps: ['jquery'],
            exports: 'jQuery'
        }
    }
});