Javascript grunt contrib requirejs生成失败/跳过依赖项跟踪
在使用grunt contrib requirejs构建此requirejs配置时Javascript grunt contrib requirejs生成失败/跳过依赖项跟踪,javascript,ember.js,requirejs,gruntjs,grunt-contrib-requirejs,Javascript,Ember.js,Requirejs,Gruntjs,Grunt Contrib Requirejs,在使用grunt contrib requirejs构建此requirejs配置时 require.config({ baseUrl : "js", shim : { 'ember' : { deps : ['handlebars', 'jquery'], exports : 'Ember' },
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');
});
});
grunt contrib requirejs没有将router.js文件作为依赖项进行跟踪,因此跳过了该文件。因此,ember应用程序中没有注册自定义路由器,因此emberjs正在寻找默认路由,因此如何让grunt contrib要求对router.js进行跟踪。能否显示grunt requirejs任务和路由器声明?更新了requirejs taks和路由器声明,grunt跟踪依赖关系时,会跳过router.js,而不会将其添加到build.js中,因此ember会查找默认路由,如“home.index”,而不是“home”路由,而build.js文件中也会跳过更多关于hbs.js的路由。build.js成功,没有错误,正在工作。请尝试在router.js文件中添加return语句,i。e<代码>返回EmberMockApp.Router…无更改,但Router.js作为此内联html加载,在控制台中我收到此错误=>断言失败:尝试链接到路由“home.index”失败。路由器在其可能的路由“index”中未找到“home.index”,未捕获错误:没有名为home.index的路由。显示搜索默认路线而不是自定义路线