【发布时间】:2014-10-21 07:38:43
【问题描述】:
我正在创建一个仅包含静态 HTML、JS 和 CSS 的单页应用程序。我需要支持 IE9+、现代桌面浏览器和 iOS 6+。
Web 是使用 grunt 构建的,我正在考虑将所有 JS 和 CSS 内联到 HTML 文件中,这样可以稍微简化处理。
由于没有服务器生成的内容,并且 .html 页面也被缓存,您是否发现在内联所有 JS 和 CSS 时有任何缺陷或缺点?据我了解,它甚至可以提高性能,因为浏览器的往返次数更少,但也许有一些很好的理由不内联那些(相当大的)文件?
你有这方面的经验吗?
[编辑] 这似乎很不清楚。我确实不想手动将我正在使用的所有 JS 和 CSS 放入生成的 HTML 文件中。我有一个干净的项目结构,并考虑让 grunt 生成一个内联版本作为发布输出。我不会使用内联版本,无论是开发还是调试。我的问题只是关于技术部分:是否会对浏览器产生任何负面影响(除了缓存,整个 html 都被缓存了,我可以忍受它作为一个整体无效)?为什么作为自动构建过程的结果的内联仍然被认为是不好的做法(缓存主题除外)?
【问题讨论】:
-
是否有多个开发人员在此应用程序上工作?如果是这样,共享一个大文件可能会产生问题。您是否觉得在编辑器中浏览一个大文件很困难?
-
@DaveB 是的,我在一个团队中工作,但这并不重要,因为它是 Grunt 构建过程的结果。我们的配置构建了两个版本,一个版本,另一个没有缩小、压缩(并且不会内联),所以这不是问题
标签: javascript html css gruntjs bundling-and-minification