0

grunt で almond.js を使用して、ファイルを .js に結合し、それを醜くしようとしています。grunt での私の構成は次のようになります。

requirejs: {
                compile: {
                    options: {
                        baseURL: "www/js/lib",
                        mainConfigFile: 'www/js/main.js',
                        name: '../../../node_modules/almond/almond',
                        include: '../main',
                        out:'../target/app.min.js',
                        findNestedDependencies: true,
                        optimize: 'uglify',
                    }
                }
            },

私のmain.jsはこれです:

require.config({
    baseUrl: "js/lib",

    paths: {
        app: '../app',
        tpl: '../tpl'
    },

    shim: {
        'backbone': {
            deps: ['underscore', 'jquery'],
            exports: 'Backbone'
        },
        'underscore': {
            exports: '_'
        },
        'backbone-indexeddb': {
            deps: ['backbone', 'IndexedDBShim']
        },
        'IndexedDBShim': {
            deps: ['backbone']
        }
    }
});

grunt requirejs を実行しようとすると、次のエラーが表示されます: Error: Error: ERROR: module path does not exist: project/www/js/js/lib/../../../node_modules/almond/almond.jsモジュール名: ../../../node_modules/almond/almond. パスは次に対する相対パスです: project at /project/node_modules/grunt-contrib-requirejs/node_modules/requirejs/bin/r.js:25964:35

パスの 2 番目の /js/ はどこから来たのですか? 私のファイル構造には存在しません。プロジェクトフォルダーをこのように設定しています

project
  gruntfile
  node_modules
     almond
        almond.js
  www
    index.html
    js
        app
        lib
        main.js
4

1 に答える 1

0

ああ、私は baseurl を 2 回設定していますが、そうすべきではありません。gruntfile の baseurl パラメータを削除すると、正常に動作します。

于 2014-02-24T10:42:35.487 に答える