使用grunt-contrib-requirejs构建此requirejs配置
require.config({
baseUrl : "js",
shim : {
'ember' : {
deps : ['handlebars', 'jquery'],
exports : 'Ember'
},
'bootstrap' : ['jquery'] ,
'ember-data' : ['ember'],
'handlebars' : {
exports : 'Handlebars'
}
},
paths : {
/* APPLICATION */
'App' : 'app/ember-mock/app',
'router' : 'app/ember-mock/router',
'helper' : 'app/ember-mock/helper',
'module' : 'app/ember-mock/module',
'store' : 'app/ember-mock/store',
/* LIBRARIES */
*****
***** //other deps goes here
*****
},
**** //other options goes here
});
require([
'App',
'store',
'router',**** //other requires goes here
], function(){
});
我的gruntfile.js文件,
module.exports = function(grunt) {
'use strict';
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
requirejs : {
compile : {
options : {
baseUrl : 'js',
name : 'app/ember-mock/configuration/config',
mainConfigFile : 'js/app/ember-mock/configuration/config.js',
out : 'build/js/build.js',
optimize : 'uglify2',
inlintText : true,
findNestedDependencies : true
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.registerTask('default', [ 'requirejs' ]);
};
我的router.js文件
define([ "App" ], function(EmberMockApp) {
EmberMockApp.Router.map(function() {
this.resource("app", {
path : "/"
});
this.resource('home');
this.resource('about');
this.resource('blog');
this.resource('connect');
});
});
router.js文件没有被grunt-contrib-requirejs跟踪为依赖项并被跳过。因为没有自定义路由器在ember应用程序中注册,所以emberjs正在寻找默认路由,所以如何让router.js的grunt-contrib-require跟踪。