Gruntjs 为什么要分开供应商CSS&;来自定制CSS的JS&;工作流中的JS?
我一直在试图确定将供应商JS&CSS与定制JS&CSS分离的前端工作流中的标准做法背后的原因。我不确定额外HTTP请求的优点和缺点是什么,只使用一个CSS&JS文件似乎比使用vendor.CSS、main.CSS&vendor.JS、main.JS更干净Gruntjs 为什么要分开供应商CSS&;来自定制CSS的JS&;工作流中的JS?,gruntjs,gulp,bower,frontend,yeoman,Gruntjs,Gulp,Bower,Frontend,Yeoman,我一直在试图确定将供应商JS&CSS与定制JS&CSS分离的前端工作流中的标准做法背后的原因。我不确定额外HTTP请求的优点和缺点是什么,只使用一个CSS&JS文件似乎比使用vendor.CSS、main.CSS&vendor.JS、main.JS更干净 有人能解释一下吗?根据您的情况,这允许您在级联中进行较低的编辑,这样您就可以覆盖供应商的样式和行为,而无需删除它们的代码。这是很有帮助的,这样您就可以始终拥有可以还原到的工作版本(供应商代码)。在使用Wordpress等情况下,开发子主题可以在
有人能解释一下吗?根据您的情况,这允许您在级联中进行较低的编辑,这样您就可以覆盖供应商的样式和行为,而无需删除它们的代码。这是很有帮助的,这样您就可以始终拥有可以还原到的工作版本(供应商代码)。在使用Wordpress等情况下,开发子主题可以在不破坏自定义设置的情况下更新父主题。供应商代码的更改频率通常低于应用程序代码。因此,在更新应用程序时,供应商代码可以保持不变并缓存在用户的浏览器中 在供应商代码与应用程序代码绑定的场景中,用户必须在每次更新应用程序时下载所有供应商代码
由于用户在每次应用程序更新时会下载更少的代码,因此来自独立供应商捆绑包的额外HTTP请求得到了缓解。我可以想到两个原因
grunt
标记了问题,最终用户可能永远不会看到此更改,因为您可以在构建期间合并供应商和用户样式/脚本
但是,如果供应商代码很大且不经常更改,那么使用很少更改的大型供应商文件和快速更改的小型自定义代码文件,确实可以获得缓存好处。对于不使用CDN(希望不是您的CDN)的大型网站,其影响是显而易见的。各种答案已经解决了这一问题,但我将非常具体:
我想那会很有趣。可能会有一个新的文件类型,比如.jcross或jcss。我不太考虑Wordpress,而更多地考虑前端生成器,例如Yeoman,因为Gulp/Grunt插件倾向于将JS和CSS分开。在覆盖你将结合你的自定义JS/CSS后,供应商的CSS/JS,因为你将嵌入你的HTMLTank you for your答案,我认为Sunil的解释是正确的,因为他的解释对我来说是最清楚的