Javascript grunt usemin:定义自定义流
我正在使用插件。我想知道下面该怎么做 我在Javascript grunt usemin:定义自定义流,javascript,gruntjs,yeoman,grunt-usemin,Javascript,Gruntjs,Yeoman,Grunt Usemin,我正在使用插件。我想知道下面该怎么做 我在index.html中有两个usemin配置块 <!-- build:js /scripts/scriptsmin.js --> <script src="/scripts/jquery.min.js"></script> ... ... <!-- endbuild --> <!-- build:js /scripts/scripts.js --> <script src="/scrip
index.html
中有两个usemin配置块
<!-- build:js /scripts/scriptsmin.js -->
<script src="/scripts/jquery.min.js"></script>
...
...
<!-- endbuild -->
<!-- build:js /scripts/scripts.js -->
<script src="/scripts/app.js"></script>
....
...
<!-- endbuild -->
...
...
....
...
第一个块,scriptsmin.js
,是缩小的文件。
其次,scripts.js
,包含所有需要缩小的文件
我喜欢
如果这些块在同一个文件中,是否可能。我在网上看到了一节。无法了解是否可以命名配置块,并在每个配置块上设置单独的流。它讨论了基于文件名(index.html)的流。我应该如何编写grunt
useminPrepare
部分。只是想知道为什么JavaScript文件需要两个单独的目标,特别是如果它们将被缩小并连接到一个文件中。我要做的就是在文件的末尾有一个脚本块,如下所示:
<!-- build:js /scripts/scripts.js -->
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/app.js"></script>
<!-- endbuild -->
grunt.registerTask('build', ['useminPrepare', 'concat', 'uglify', 'cssmin', 'usemin']);
usemin看起来与useminPrepare没有太大区别,但是您可能会发现,如果一个文件包含与HTML其余部分相同的构建块,那么您需要使用一个文件“种子”useminPrepare。因此,实际的usemin配置中可能还有几个文件:
usemin: {
html: ['build/index.html', 'build/about.html', 'build/contact.html']
}
在useminPrepare运行之后,再运行concat、uglify和cssmin任务,最后运行usemin。因此,您有如下自定义任务:
<!-- build:js /scripts/scripts.js -->
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/app.js"></script>
<!-- endbuild -->
grunt.registerTask('build', ['useminPrepare', 'concat', 'uglify', 'cssmin', 'usemin']);
希望这有帮助。我也有同样的问题。如果您对两个文件而不是一个文件感到满意,那么可以使用usemin的fork。它很少启用新的流,即
- 自由基
- libs2min
- 空虚
- 除去
<!-- build:libs2min /scripts/scriptsmin.js -->
<script src="/scripts/jquery.js"></script>
...
...
<!-- endbuild -->
<!-- build:js /scripts/scripts.js -->
<script src="/scripts/app.js"></script>
....
...
<!-- endbuild -->
并密切关注主回购-也许该功能离实现目标不远。谢谢您的帮助。我有两个块的原因是,我保持了小型外部库(jquery、angular等)的完整性,但只是concat。我读到最好不要通过经过良好测试的缩小文件再次运行缩小程序。所以我把它们放在一个街区里。其他文件,如我的自定义js,需要缩小,然后与其他文件合并。所以只有一个文件可以下载。对不起,我不清楚。你认为这有意义吗,可能吗。感谢AgainQuery通过Uglify缩小(这样就看不出有什么区别),通过Google闭包缩小角度(如果再次使用Uglify压缩,几乎没有什么区别);Uglify本身就是一个经过战斗测试的工具,如果你发现运行缩小的文件有任何问题,最好报告一个问题,然后我再次使用Uglify缩小我加载的所有内容,不管它是否已经缩小(通过RequireJS和r.js Optimizer),并且没有看到任何问题。唯一的缺点显然是缩减更多的代码需要更多的时间,但我怀疑运行min两次是否会引入任何错误。您知道当前版本的grunt usemin是否可能做到这一点吗?