Kni*_*hts 9 javascript node.js gruntjs grunt-usemin
例如:我使用下面的当前配置到uglify我的Gruntfile中的JS脚本:
uglify: {
options: {
report: "min", //"gzip",
sourceMap: true,
preserveComments: false, //"some", "all"
},
application: {
options: {
// expand: true,
banner: '<%= app.banner %>',
preserveComments: "some"
},
src: 'dist/js/application.js',
dest: ".tmp/js/application.min.js"
},
dependencies: {
options: {
sourceMap: false
},
src: ['dist/js/dependencies.js'],
dest: ".tmp/js/dependencies.min.js"
},
Run Code Online (Sandbox Code Playgroud)
我知道grunt-usemin 从gruntfile选项中声明的html文件中的代码块生成src和destuseminPrepare选项,例如:
<!-- build:js js/app.js -->
<script src="js/app.js"></script>
<script src="js/controllers/thing-controller.js"></script>
<script src="js/models/thing-model.js"></script>
<script src="js/views/thing-view.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)
那么如何配置grunt-usemin使用这些相同的选项,例如banner,sourceMap: false使用生成的文件块,我已经阅读了github或NPM注册表中通常给出的快速文档,但似乎没有找到一个可靠的答案.
ben*_*nek 14
一句话在文档中非常重要:
另外,useminPrepare动态生成concat,uglify和cssmin的配置.重要提示:您仍需要手动管理这些依赖项并调用每个任务.
原则是只声明你想要使用usemin(在grunt注册任务中)你想要的所有主要任务:concat,uglify ...默认情况下,Usemin将根据你的registertask选项创建所有这些任务而不再声明和HTML标记评论.
代码比单词更好:
Run Code Online (Sandbox Code Playgroud)<!-- build:js js/app.min.js --> <script src="js/app.js"></script> <script src="js/controllers/thing-controller.js"></script> <script src="js/models/thing-model.js"></script> <script src="js/views/thing-view.js"></script> <!-- endbuild -->
2 - 在运行期间注册您希望usemin为您生成的任务(它不会在您的文件中生成任何内容 - 应该在文档中进行精确处理).例如 :
grunt.registerTask('minify',['useminPrepare','concat','cssmin','uglify','copy'
,'rev,'usemin'])
3 - 默认情况下,除了useminPrepare和usemin之外,所有这些任务都会生成(请查看这两个块grunt-usemin的文档).
然后,如果你想添加像sourcemap这样的特定选项,只需重写配置代码而不重新定义所有内容:
uglify:{options:{sourceMap:false}}
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
3152 次 |
| 最近记录: |