2014-09-23 80 views
-1

我已经构建了一个Marionette/Requirejs应用程序,并试图对其进行优化。一旦在浏览器中编译和测试,我会收到错误“Backbone is not defined”。Grunt需求优化 - 骨干未定义

编辑

,我读了从要求项目使得mainConfigFile =我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模块。任何方向将不胜感激。

回答