我最近接受了一个使用usemin / uglify(与Grunt一起)进行脚本串联/最小化的新项目,但是我似乎无法找到usemin的好处。仅仅是它使用html模板作为配置吗?仅仅通过uglify似乎是一个更好的解决方案。使用usemin有什么好处?

最佳答案

usemin有什么作用?
usemin将采用一组CSS或JS并执行以下操作:

  • 连接HTML的usmin块中找到的文件
  • uglify或cssmin串联文件
  • 使用基于文件内容的哈希值修订输出文件
  • 用对usemin输出文件
  • 的单个引用替换css / scripts块

    这有什么好处?

    首先,按文件在usemin块中列出的顺序进行串联。因此,如果您有一个JS模块/脚本首先依赖于另一个JS模块/脚本,则可以轻松地查看HTML中的顺序并进行编辑。

    当然,可以在没有usemin的情况下串联一个包含脚本的目录,但是您最终会在gruntfile中处理它。哪个更好-在HTML或gruntfile中?根据您正在做的工作,这就是您的电话。

    其次,用修订哈希值更新的HTML很好。如果块中的文件在两次推送之间进行了更新,则随着哈希值的更改,它会为您缓存失败。

    我遇到的常见问题 ...以及其他人也遇到了:
  • 如果脚本列表太多,那么每次脚本更改时都要对HTML进行调整可能很麻烦。在使用SPA框架时,以及使用从LESS生成的一组疯狂精致的CSS文件时,我都曾遇到过这种情况。您可以说这两种情况的根本原因是不同的工具/技术...但是usemin并没有使这两种情况更容易。
  • usemin块目录语法很笨拙。在gruntfile和HTML中都有命名的目录。您必须稍作尝试才能使其有意义。
  • 如果您的文件数量很少(例如一两个),Usemin会显得过大。

  • 底线是,与所有工具一样,usemin有一个甜蜜的地方,usemin将使事情变得更容易或更难。如果您要连接和缩小的文件很少,usemin可以使此操作易于管理。如果您有数百个文件?您可能不需要usemin。

    10-04 14:32