如何有条件地将缩小或未缩小的资产包含在 PHP 驱动的模板中?

How do I conditionally include the minified or unminified assets in a PHP-Driven template?

我正在使用 Wordpress 设置,并且有一个模板可以加载我的 Gulp 生成的 JavaScript 文件(使用 browserify/babelify 进行编译)。

我丑化了browserify/babelified结果,我也用了browser-sync。

当我通过 Browser-Sync webserver 使用网站时,我想加载 bundle.js(未压缩) 版本的 javascript 在我的模板中,当我在 BrowserSync 版本之外/在生产中使用网站时,我想要 bundle.min.js (缩小)脚本改为加载。

我不知道 browser-sync 工作原理的精确机制,但我通常做的是根据服务器环境变量或 [=11= 的状态来决定要为我的资产提供哪个版本].

例如,或多或少:

  $minified = ( defined( 'WP_DEBUG' ) && WP_DEBUG ) ? '' : '.min';

  wp_enqueue_script( 'my-js', "filename" . $minified . '.js', false );

同样,我不确定 browser-sync,但如果我没弄错的话,它只会重新加载正确的浏览器选项卡,并在您 modify/recompile 您的资产时重新发送相同的请求。因此,这些信息不足以区分该请求。

但是,如果您执行上述操作,您将在开发机器上提供未压缩的资产,稍后在部署时提供缩小的资产,而无需更改任何其他内容。