首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grunt-usemin:定义自定义流

grunt-usemin:定义自定义流
EN

Stack Overflow用户
提问于 2013-10-26 16:17:44
回答 2查看 2.8K关注 0票数 8

我正在使用咕噜咕噜插件。我想知道下面该怎么做。

我在index.html中有两块usemin配置。

代码语言:javascript
复制
<!-- 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包含所有需要缩小的文件。

我喜欢。

  1. 在第二个块上运行小型机(uglifyjs)
  2. 带有第二次缩小版本的第一个块(步骤1)

如果这些块位于同一个文件中是否可能。我在上看到了一个章节。无法跟踪是否可以命名配置块,并在每个配置块上设置单独的流。它讨论了基于文件名(index.html)的流。我该如何写“咕噜”的useminPrepare部分。

EN

回答 2

Stack Overflow用户

发布于 2014-01-15 17:51:37

我也有同样的问题。如果您对两个文件而不是一个文件感到满意,您可以使用usemin 这里的分支。它几乎不允许新的流动,即

  • libs
  • libs2min
  • 空洞
  • 删除

完整描述。所以你的html是:

代码语言:javascript
复制
<!-- build:libs2min /scripts/scriptsmin.js -->
<script src="/scripts/jquery.js"></script>
...
...
<!-- endbuild -->

<!-- build:js /scripts/scripts.js -->
<script src="/scripts/app.js"></script>
....
...
<!-- endbuild --> 

不幸的是,现在嵌套块可能不是个好主意。但你可以试试。

要安装分叉而不是常规的咕噜-usemin,请将您的package.json更改如下

代码语言:javascript
复制
"devDependencies": {
    ...
    "grunt-usemin": "Rauno56/grunt-usemin",
    ...
},

注意主要的回购--也许这个功能也不会太远。

票数 2
EN

Stack Overflow用户

发布于 2013-10-27 17:38:57

只是想知道为什么您的JavaScript文件需要两个单独的目标,特别是如果要将它们缩小&连接到一个文件中。我要做的就是在文件末尾有一个脚本块,如下所示:

代码语言:javascript
复制
<!-- build:js /scripts/scripts.js -->
<script src="/scripts/jquery.min.js"></script>
<script src="/scripts/app.js"></script>
<!-- endbuild -->

如果所有的JS都位于一个街区而不是两个街区,那么这样的理解就更容易理解了。useminPrepare是一个基本更新Gruntfile配置的任务,它包括用于脚本和样式的concat、cssmin和uglify目标。只需在包含构建注释的文件上运行它,如下所示。

代码语言:javascript
复制
useminPrepare: {
    html: 'build/index.html'
}

在useminPrepare中,usemin看起来不应该有太大的不同,但是您可能会发现,您想要做的是用一个文件“种子”useminPrepare,如果其中包含与您的其他文件包含相同的构建块的话。因此,实际的usemin配置可以在其中包含更多的文件:

代码语言:javascript
复制
usemin: {
    html: ['build/index.html', 'build/about.html', 'build/contact.html']
}

在useminPrepare运行之后,运行您的concat、uglify和cssmin任务,最后运行usemin。因此,您有这样一个自定义任务:

代码语言:javascript
复制
grunt.registerTask('build', ['useminPrepare', 'concat', 'uglify', 'cssmin', 'usemin']);

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19608925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档