0

私はrequire.jsの初心者です。
次の悩みがあります。私は require.js をリンクしました:

<script data-main="/Scripts/page/main" src="/Scripts/framework/require.js"></script>

コード main.js

require.config(
{
    shim: {
        backbone: {
            exports: 'backbone'
        }
    },paths: {
    jquery: "/Scripts/framework/jquery/jquery-1.6.4",
    underscore: "/Scripts/framework/underscore/underscore",
    backbone: "/Scripts/framework/backbone/backbone"
}
});
require(["jquery"], function (jquery) {
// why jquery is undefined?
})

ここに画像の説明を入力

マニュアルのように使おうとしましたが、残念ながらうまくいきません。なぜrequire関数でjquery変数が定義されていないのですか? 助けてくれてありがとう。

4

2 に答える 2

0

私はちょうど同じ問題を経験しました。

私もそれが初めてですが、ここで説明されている良い解決策を見つけましたRequireJSを使用してバックボーンとアンダースコアをロードする

基本的に、シムを次のように拡張します。

requirejs.config({

    baseUrl: 'js/lib', 

    shim: {
        underscore: {
            exports: '_'
        },
        backbone: {
            deps: ['underscore', 'jquery'],
            exports: 'backbone'
        }
    },  

    paths: {
        app: '../app',
        jquery: 'jquery-1.10.2.min',
        backbone: 'backbone.min',
        underscore: 'underscore.min'
    }   
});

requirejs(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {  
    console.log('here');
});

jquery と underscore の両方に依存する underscore _ と backbone が原因のようです。

それは私にとってはうまくいき、理にかなっています。

そうでない場合は修正してください。

于 2013-11-15T01:37:08.753 に答える