如何在Drupal中获得压缩文件名

How to get the compressed file name in Drupal?

本文关键字:压缩 文件名 Drupal      更新时间:2023-09-26

在Drupal中压缩JS文件后,我得到了一个随机的JS文件名。

我的问题我怎么能得到这个文件名添加到我的javascript?

Drupal代码: import and compress

<?php drupal_add_js(drupal_get_path('theme', 'mytheme') . 'mybigfile.js'); ?>

随机文件名结果:

js_2KQpJNjjupC1Beoweoqpok2JCXhe0sJ6YBllaRDUXYQ.js

尝试调用mybigfile.js文件:

<script>
telInput.intlTelInput({
      validationScript: "mybigfile.js"
    });
</script>

据我所知,您无法获得Drupal使用PHP生成的连接JavaScript文件的名称。

最好的选择是避免JavaScript文件mybigfile.js被连接和压缩。然后,您可以通过调用文件名来应用验证脚本。

你必须在drupal_add_js的$options数组中设置preprocess属性为false,以防止文件被聚合。

drupal_add_js(drupal_get_path('theme', 'mytheme') . '/mybigfile.js', array(
    'type'      => 'file',
    'preprocess'=> false,
));

更新

如果你想压缩一个JavaScript文件,你可以选择使用AdvAgg API。

不幸的是,我找不到任何关于如何做到这一点的文档。但是你可以这样开始:

  1. 下载并安装advagg并使能advagg_js_compress子模块。

  2. advagg_js_compress子模块文件夹中,找到文件advagg_js_compress.advagg.inc并在文本编辑器中打开。在这里你可以找到一些帮助函数来帮助你压缩你的JavaScript文件。