ko没有用requirejs定义

hel*_*rld 5 requirejs knockout.js

我正在尝试使用requirejs以下列方式加载knockoutjs:

<script type="text/javascript">
    require(['scripts/knockout-2.2.1.debug'], function() {
        var someModel = {
            firstname: ko.observable('asd')
        };
        ko.applyBindings(someModel);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

使用顶部的脚本标记加载require.js的位置.当这段代码执行时,我得到一个ko未定义的错误.做类似的正确方法是什么?

Hun*_*der 5

require(['scripts/knockout-2.2.1.debug'], function(ko) {
Run Code Online (Sandbox Code Playgroud)

我不确定但是看到requirejs上的示例,我想这些都是在回调函数的范围内加载的.所以,除非你在函数中接受它,否则你不能使用它.

是的,你是对的(至少,看到他们的exmaple).如果包含4个库,则需要接受4个参数.例如,如果你加载了jquery和knockout,你可以按如下方式编写它:

require(['scripts/jquery.js', 'scripts/knockout-2.2.1.debug'], function($, ko) {
Run Code Online (Sandbox Code Playgroud)