Requirejs Gruntfile找不到杏仁

时间:2014-02-24 10:35:03

标签: requirejs gruntjs almond

我正在尝试在grunt中使用almond.js将我的文件合并到.js上并对其进行uglify。 我在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 for module named:../../ .. / node_modules /杏仁/杏仁。路径是相对于:项目     在/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

1 个答案:

答案 0 :(得分:0)

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