Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript usemin的好处?_Javascript_Build_Gruntjs_Build Process_Grunt Usemin - Fatal编程技术网

Javascript usemin的好处?

Javascript usemin的好处?,javascript,build,gruntjs,build-process,grunt-usemin,Javascript,Build,Gruntjs,Build Process,Grunt Usemin,我最近接受了一个新项目,它使用usemin/uglify(带Grunt)进行脚本连接/缩小,但我似乎找不到usemin的好处。它只是使用html模板作为配置吗?看来,通过丑恶的手段来解决问题是一个更好的办法。使用usemin有什么好处?usemin做什么? usemin将获取一组CSS或JS,并执行以下操作: 将在HTML中的usmin块中找到的文件连接起来 连接文件中的uglify或cssmin 使用基于文件内容的哈希修改输出文件 将css/脚本块替换为对usemin输出文件的单个引用 这有什

我最近接受了一个新项目,它使用usemin/uglify(带Grunt)进行脚本连接/缩小,但我似乎找不到usemin的好处。它只是使用html模板作为配置吗?看来,通过丑恶的手段来解决问题是一个更好的办法。使用usemin有什么好处?

usemin做什么?

usemin
将获取一组CSS或JS,并执行以下操作:

  • 将在HTML中的usmin块中找到的文件连接起来
  • 连接文件中的uglify或cssmin
  • 使用基于文件内容的哈希修改输出文件
  • 将css/脚本块替换为对usemin输出文件的单个引用
  • 这有什么好处?

    首先,按照文件在usemin块中列出的顺序进行连接。因此,如果一个JS模块/脚本依赖于首先加载的另一个模块/脚本,那么可以很容易地看到HTML中的顺序并进行编辑

    当然,在没有usemin的情况下可以连接一个充满脚本的目录,但最终会在Grunfile中处理这个问题。哪一个更好——在HTML中还是在Grunfile中?这是你的决定,取决于你所做的工作

    其次,使用修订哈希更新的HTML很好。如果块中的文件是在推送之间更新的,则当散列更改时,它会为您缓存崩溃

    我遇到过的常见问题,其他人也遇到过:

    • 如果您有一个庞大的脚本列表,那么每次脚本更改时调整HTML可能是一件痛苦的事情。我在使用SPA框架时遇到过这种情况,有一次,我使用了一组精心制作的CSS文件,这些文件是由更少的资源生成的。你可以说这两种情况的根本原因是不同的工具/技术……但usemin并没有使这两种情况变得更容易

    • usemin块目录语法很笨拙。GrunFile和HTML中都有名为的目录。你必须玩一点,它才有意义

    • 如果你有非常少的文件,比如一个或两个,那么Usemin就是杀伤力过大

    底线是,与所有工具一样,有一个最佳点,usemin可以使事情变得更容易…或更难。如果您有一些需要连接和缩小的文件,usemin可以使其易于管理。如果你有数百个文件?你可能不想要usemin