Gruntjs 基于grunt的Requirejs优化

Gruntjs 基于grunt的Requirejs优化,gruntjs,grunt-contrib-requirejs,almond,requirejs-optimizer,Gruntjs,Grunt Contrib Requirejs,Almond,Requirejs Optimizer,我试图用grunt和almond创建一个requirejs优化配置。以下是配置: requirejs: build: options: almond: true dir: 'build' appDir: '' baseUrl: '../client' wrap: true include: '../client/main' kee

我试图用grunt和almond创建一个requirejs优化配置。以下是配置:

requirejs:
      build:
        options:
          almond: true
          dir: 'build'
          appDir: ''
          baseUrl: '../client'
          wrap: true
          include: '../client/main'
          keepBuildDir: true
          paths:
            underscore: 'client/vendor/underscore'
            jquery    : 'client/vendor/jquery'
            backbone  : 'client/vendor/backbone'
文件夹结构:

错误:

C:\Users\User\Documents\Source\Project>grunt requirejs
Running "requirejs:build" (requirejs) task
>> Error: ENOENT, no such file or directory
>> 'C:\Users\User\Documents\Source\Project\build\models\MenuItem.js'
>> In module tree:
>>     ../client/main
Warning: RequireJS failed. Use --force to continue.
Main.js代码(用coffeescript编写)


我想以一种不需要requirejs的方式将我的整个项目跨多个js文件编译成一个文件。我正试图使用AlmondJS来实现这一点,但构建任务并不查找相对于引用文件路径的引用文件。请帮助我正确配置。

您能添加main.js代码吗?@Evgeniy。好了!尝试在BaseUrl之后添加mainConfigFile:'path/to/main.js',只需检查明显的内容。。。错误抱怨build\models\MenuItem.js,但您的屏幕截图显示build\views\MenuItem.js-是这样吗?错误中的文件是否存在?@izb是该文件存在:在我尚未在图像中展开的模型中存在MenuItem.js。
requirejs.config(
  baseUrl: "client"
  shim:
    'backbone':
      deps: ['jquery']
      exports: 'Backbone'
    'jquery':
      exports: '$'
    'underscore':
      exports: '_'
  paths:
    jquery: 'vendor/jquery-1.11.0'
    underscore: 'vendor/underscore'
    backbone: 'vendor/backbone'
)

define 'start', ()->
  window.types =
    Models: {}
    Collections: {}
    Views: {}
  null

require ['models/MenuItem', 'views/MenuItem'], (MenuItemModel, MenuItemView)->
  view = new MenuItemView(
    new MenuItemModel(),
    "#app",
    'first'
  )
  view.render();
  null