沒關係,我解決了它。
隨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