Backbone.js Grunt需要优化-未定义主干

Backbone.js Grunt需要优化-未定义主干,backbone.js,requirejs,gruntjs,marionette,Backbone.js,Requirejs,Gruntjs,Marionette,我已经构建了一个木偶/Requirejs应用程序,并试图对其进行优化。一旦在浏览器中编译和测试,我会得到一个错误“主干未定义” 编辑 我了解到,从require项目中创建mainconfifile=my main.js文件可以解决这些类型的问题,尽管当我尝试添加该文件并从gruntfile中删除所有路径信息时,我得到了一个grunt编译错误,即我的main.js文件不是有效的JSON 结束编辑 这是我的gruntfile.js requirejs配置: requirejs: { co

我已经构建了一个木偶/Requirejs应用程序,并试图对其进行优化。一旦在浏览器中编译和测试,我会得到一个错误“主干未定义”

编辑

我了解到,从require项目中创建mainconfifile=my main.js文件可以解决这些类型的问题,尽管当我尝试添加该文件并从gruntfile中删除所有路径信息时,我得到了一个grunt编译错误,即我的main.js文件不是有效的JSON

结束编辑

这是我的gruntfile.js requirejs配置:

requirejs: {
      compile: {
        options: {
            baseUrl: "scripts",
            paths: {
                requireLib: 'lib/require',
                templates: '../templates',
                underscore: 'lib/underscore',
                backbone: 'lib/backbone',
                jquery: 'lib/jquery',
                backbonevalidation: 'lib/backbone-validation',
                marionette: 'lib/backbone.marionette',
                json2: 'lib/json2',
                text: 'lib/text',
                errorlogger: 'lib/errorlogger',
                moment: 'lib/moment.min',
                glossary: 'lib/glossary',
                facebook: '//connect.facebook.net/en_US/all',
                "codebird": 'lib/codebird',
                "cryptojs": 'lib/md5',
                jquerySteps: 'lib/jquery.steps',
                JQValidate: 'lib/jquery.validate.min',
                numeral: 'lib/numeral',
                async: 'lib/async',
                homeloanAmort: 'lib/homeloanamortisation',
                financial: 'lib/financial',
                bonds: 'lib/finance/bonds',
                common: 'lib/finance/common',
                daycountbasis: 'lib/finance/daycountbasis',
                depreciation: 'lib/finance/depreciation',
                irr: 'lib/finance/irr',
                loan: 'lib/finance/loan',
                misc: 'lib/finance/misc',
                oddbonds: 'lib/finance/oddbonds',
                tbill: 'lib/finance/tbill',
                tvm: 'lib/finance/tvm',
                retirementneeds: 'lib/retirementneeds',
                numeral: 'lib/numeral',
                carloanamortisation: 'lib/carloanamortisation',
                carleasebuy: 'lib/carleasevsbuy',
                cookie: 'lib/jquery.cookie',
                homerentvsbuy: 'lib/homerentvsbuy',
                "JQstorageapi": 'lib/jquery.storageapi.min',
                regiontransitions: 'lib/region-transitions'
            },

            shim : {
                underscore: {
                    exports: '_'
                },
                backbone: {
                    deps: ['underscore', 'jquery'],
                    exports: 'Backbone'
                },
                backbonevalidation: {
                    deps: ['backbone'],
                    exports: 'Backbone'
                },
                marionette: {
                    deps: ['jquery', 'underscore', 'backbone'],
                    exports: 'Marionette'
                },
                errorlogger: {
                    deps: ['jquery']
                },
                numeral: {
                    exports: "numeral"
                },
                jquerySteps: {
                    deps: ["jquery"],
                    exports: "Steps"
                },
                JQValidate: {
                    deps: ["jquery"],
                    exports: "JQValidate"
                },
                JQstorageapi: {
                    deps: ["jquery"],
                    exports: "JQstorageapi"
                },
                facebook: {
                    exports: 'FB'
                },
                cryptojs: {
                    exports: 'CryptoJS'
                },
                financial: {
                    deps: ['bonds','common','daycountbasis','depreciation','irr','loan','misc','oddbonds','tbill','tvm'],
                    exports :'financial'
                }
            },

            baseUrl : "scripts",
            name: "main",
            out: "optimised/js/main.min.js",
            removeCombined: true,
            include: ["requireLib", 'main.js'],
            out: "optimised/js/main.min.js",
            findNestedDependencies: true
        }
      }
    },
我在某个地方出了问题,经过一些搜索,我知道这和垫片、路径和使用AMD模块有关。任何方向都将不胜感激。

在这里找到了答案:

解决方案

wrapshem:true,
添加到gruntfile需要配置解决它