質問

RequireJS 2.0.6を使用しています。そして時々私は私の図書館(Amplifyjs)のいずれかで展望の問題を抱えています。

プロジェクト:

libs/
    amplify.js
    handlebars.js
    jquery.js
    require.js
packages/
    core/
        main.js
index.html
main.js
.

My Main.js:

require.config({
    paths: {
        'jquery': '../libs/jquery',
        'amplify': '../libs/amplify',
        'handlebars': '../libs/handlebars'
    },
    shim: {
        'jquery': {
            exports: '$'
        },
        'amplify': {
            deps: ['jquery'],
            exports: 'amplify'
        },
        'handlebars': {
            exports: 'handlebars'
        }
    },
    packages: ['core'],
    baseUrl: './packages/'
});

require(['jquery', 'amplify', 'handlebars', 'core'], function() {
});
.

index.html:

<script type="text/javascript" data-main="main" src="libs/require.js"></script>
.

75%うまく機能しますが、時にはこのエラーが発生します。

GET http://localhost:8888/aa/test/packages/libs/amplify.js 404 (Not Found) 
Uncaught Error: Script error
    http://requirejs.org/docs/errors.html#scripterror 
.

道が間違っている!しかし、私はこれが起こる理由を理解することはできませんか?そしてなぜ時々?

(私はそれがパッケージで何かをしなければならないことを確信していますが、それがそれをする理由はわかりません)

役に立ちましたか?

解決

私はそれをするもう一つの方法を考え出し、それは機能します!

require.config({
    paths: {
        libs: '../libs'
    },
    packages: ['core'],
    shim: {
        'libs/amplify': {
            deps: ['libs/jquery'],
            exports: 'amplify'
        },
        'libs/handlebars': {
            deps: ['libs/jquery'],
            exports: 'handlebars'
        },
        'core': {
            deps: ['libs/amplify', 'libs/handlebars']
        }

    }
});
.

他のヒント

(私はそれがパッケージで何かをする必要があることを確信していますが、私は持っています なぜそれがそうするのかわからない)

packagesという単語は標準のCommonjsを参照しています.Reenese jsは、ディレクトリ構造とモジュール自体は、jsが理解できるモジュール形式であるべきです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top