2

私は以前よりも多くのフロント エンド スクリプトを使用するプロジェクトに取り組んでおり、それを整理するために RequireJS を使用することにしました。一晩中いじくり回した後も、特定の依存関係が事後に読み込まれるように見える問題がまだいくつかあります。

たとえば、Sammy が機能するには jQuery が必要です。アプリを更新すると、'Sammy, function undefined' という種類のエラーが発生します。jQuery がロードされる前に Require 関数が実行されていますか?

構成が必要:

    require.config({
        paths: {
            'jquery': 'vendor/jquery.2.min',
            'sammy': 'vendor/sammy',
        },
        shim: {
            'jquery': {
                debs: [],
                exports: '$'
            },
            'sammy': {
                debs: ['jquery'],
                exports: 'Sammy'
            }
            ...

私のナビゲーションに関しては:

define([
    'jquery',
    'sammy'
], function($, Sammy) {

    return Sammy(function() {
    ...

私のテストの約 10% で、Sammy 関数をヒットすると、アプリは次のように表示されます。

Uncaught ReferenceError: jQuery is not defined sammy.js:2120
Uncaught TypeError: undefined is not a function 

RequireJS の働き方は私を当惑させます。私は何が欠けていますか?

4

1 に答える 1

10

構成にタイプミスがあります。正しいプロパティ名は、ドキュメントで指定されているものでdepsはありません。debs

'jquery': {
    deps: [],
    exports: '$'
},
'sammy': {
    deps: ['jquery'],
    exports: 'Sammy'
}
于 2013-04-24T17:54:16.517 に答える