2013-07-26 12 views
9

Moja Gruntfile.js file:Korzystanie wymagają-js i grunt.js - Błąd brakuje albo "nazwa", "obejmują" lub "moduły" Opcja

module.exports = function (grunt) { 
    grunt.initConfig({ 
     pkg : grunt.file.readJSON('package.json'), 
     requirejs : { 
      compile: { 
       options: { 
        baseUrl: "public_html/js", 
        mainConfigFile: "public_html/js/config.js", 
        out: "public_html/app.min.js" 
       } 
      } 
     } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-requirejs'); 

    grunt.registerTask('default', ['requirejs']); 
}; 

Moja config.js file:

'use strict'; 

require.config({ 
    deps: ['main'], 
    paths: { 
     jquery: 'vendor/jquery', 
     jquery_tokeninput: 'vendor/jquery.tokeninput', 
     underscore: 'vendor/underscore', 
     backbone: 'vendor/backbone' 
    }, 
    shim: { 
     jquery: [], 
     jquery_tokeninput: { 
      deps: ['jquery'] 
     }, 
     backbone: { 
      deps: ['vendor/underscore', 'vendor/jquery', 'vendor/jquery.tokeninput'], 
      exports: 'Backbone' 
     }, 
     underscore: { 
      exports: '_' 
     } 
    } 
}); 

require(['views/app'], function(AppView) { 
    new AppView; 
}); 

kiedy uruchamiam grunt requirejs błędy go z:

Running "requirejs:compile" (requirejs) task 
[Error: Error: Missing either a "name", "include" or "modules" option at function.build.createConfig (D:\project\node_modules\grunt-contrib-requirejs\node_modules\requirejs\bin\r.js:24829:19)] 

Pierwszy raz korzystając gruntjs i requirejs więc nie wiem, dlaczego jestem otrzymanie błędu.

Odpowiedz

10

Zaktualizowany plik grunt.js używać nazwy:

module.exports = function (grunt) { 
    grunt.initConfig({ 
     pkg : grunt.file.readJSON('package.json'), 
     requirejs : { 
      compile: { 
       options: { 
        name: "views/app", 
        baseUrl: "public_html/js", 
        mainConfigFile: "public_html/js/config.js", 
        out: "public_html/app.min.js" 
       } 
      } 
     } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-requirejs'); 

    grunt.registerTask('default', ['requirejs']); 
}; 

i usunięte następujące od config.js:

require(['views/app'], function(AppView) { 
    new AppView; 
}); 
+4

ma znaczyć RequireJS automatycznie wywołuje 'new' na module określonym w' "widoki/aplikacja"? – blong