在yeoman应用程序中,我的所有脚本都被缩小并压缩成单个文件,但所有"组件"复制是荒谬的 - 因为它在启动项目中是〜130个文件... 这个我相信的是负责连接任务,问题是如何使它包含我在index.html文件中提到的组件?文件对象有哪些参数?无法在文档中找到任何内容。
concat: {
dist: {
files: {
'<%= yeoman.dist %>/scripts/scripts.js': [
'.tmp/scripts/{,*/}*.js',
'<%= yeoman.app %>/scripts/{,*/}*.js'
]
}
}
},
答案 0 :(得分:1)
我认为你要找的是grunt-usemin。
当您添加组件时,可以将<script>
标记包装在<!-- build:js js/foo.js -->
中。
<!-- build:js js/main.js -->
<script src="js/carousel.js"></script>
<script src="js/index.js"></script>
<!-- endbuild -->
包中包含的useminPrepare任务将循环遍历该块中的任何脚本,并将它们添加到concat / uglify任务中。您的任务列表可能包含以下内容:
useminPrepare: {
html: [ '<%= yeoman.dist%>.html' ],
options: {
uglify: 'uglify'
}
},
usemin: {
html: [ '<%= yeoman.dist%>.html' ],
options: {
basedir: 'dist'
}
},
输出到您的foo.html将是您在构建注释中指定的任何内容。在我的例子中,脚本被连接,缩小,并且对它们的引用被替换为<script src="js/main.js"></script>
。