没关系,我解决了它。
随Yeoman附带的愚蠢useminPrepare
任务塞满了grunt-requirejs配置。有点讨厌,尤其是。因为我想要使用grunt-requirejs的观点是因为我不喜欢usemin如何开始工作。
UPDATE:
这是我的配置的作品:
//index.html:
<!-- build:js scripts/scripts.js -->
<script data-main="scripts/main" src="components/requirejs/require.js"></script>
<!-- endbuild -->
//Gruntfile.js:
requirejs: {
js: {
options: {
baseUrl: '<%= yeoman.tmp %>/scripts',
out: '<%= yeoman.dist %>/scripts/scripts.js',
name: 'main',
optimize: 'none',
mainConfigFile: '<%= yeoman.app %>/scripts/main.js',
useStrict: true,
wrap: true
}
},
css: {
options: {
optimizeCss: 'standard',
cssIn: '<%= yeoman.app %>/styles/main.css',
out: '<%= yeoman.dist %>/styles/main.css'
}
}
},
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>'
}
},
usemin: {
html: '<%= yeoman.dist %>/index.html',
options: {
dirs: ['<%= yeoman.dist %>']
}
}
grunt.registerTask('build', [
'requirejs:js',
'requirejs:css',
'useminPrepare', //must be after requirejs:css as it breaks its config params
'usemin'
]);
注:仍然有咕噜-usemin潜在的错误,这错误(错误地)试图改变为requirejs配置requirejs:css配置。我已经reported that here
如果你不需要它,你可以自由移除usemin。 –
的确如此,但我认为我确实需要它。但仅仅是因为我仍然需要一种在index.html中为服务器/构建模式创建正确链接到require.js的方法。查看上面更新的答案。 – asgeo1