我才意识到(几年后)its posible在 .js 文件中使用 PHP 听起来很方便(特别是在服务时,例如,来自数据库的语言文本)
就像这样:
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
所以我的问题是,这对性能有多大影响?我想它不再被视为静态文件,也不会以同样的方式缓存?
-编辑-
注意:我已经通过 htaccess 对 .js 文件使用缓存控制
Web 浏览器将无法查看它是否来自 PHP,但是您可以手动设置自定义 HTTP header ,例如 Cache-Control
、Expires
或Last-Modified
以一种浏览器缓存您的动态 Javascript 文件的方式,但它会破坏使它们动态化的目的,除非您确保这些 Javascript 文件不会在一段时间内更新(比如说一天),然后设置适当的 header 来控制浏览器缓存。
正如我在评论中所说,这不是一个好的做法,原因有以下三个:
- 通过 PHP 处理 Javascript 文件的开销 -- 性能问题。
- 您必须关闭客户端 Web 浏览器中的缓存机制,这样他们才能获得您的 Javascript 文件的最新和更新版本——再次出现性能问题。
- 如果您让 Web 浏览器缓存文件,那么一些用户将无法获得最新的 Javascript 文件——换句话说,它不再是动态的。