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 我得到一个错误:错误:错误:错误:模块路径不存在:project/www/js/js/lib/../../../node_modules/almond/almond.js对于名为:../../../node_modules/almond/almond 的模块。路径相对于:/project/node_modules/grunt-contrib-requirejs/node_modules/requirejs/bin/r.js:25964:35 的项目

我不明白,路径中的第二个 /js/ 来自哪里?它在我的文件结构中不存在,我的项目文件夹是这样设置的

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

1 回答 1

0

哦,我配置了两次baseurl,不应该那样做。如果我删除 gruntfile 中的 baseurl 参数,它工作正常。

于 2014-02-24T10:42:35.487 回答