连接并最小化排队的JavaScript文件的依赖性


8

我正在使用JavaScript文件加载wp_enqueue_script到主题中。但是,与此同时,我也正在加载几个jQuery文件,以及排队脚本的依赖关系(该脚本已经由Grunt连接并缩小了)。这是我的代码:

add_action('wp_enqueue_scripts', function() {
    wp_enqueue_script( 'customscripts', get_template_directory_uri() . '/assets/js/main.min.js', array('jquery', 'jquery-form', 'json2', 'jquery-ui-autocomplete'), NULL, true );
});

对于依赖项数组,我将如何串联和最小化那些jQuery依赖项?我试图让我的网站尽快加载,并且加载的JS文件越少越好。另外,如果有可能使它们异步加载(使用标记的async属性<script>),那将是王牌。

我宁愿不使用插件也要这样做,但如有必要,我将使用插件。

谢谢你的帮助 :)


3
第三方javascript文件应按原样由插件注册/排队;不能串联,修改或使用其他名称。这样,如果有多个使用同一个第三方js的插件/主题,则Wordpress将不会加载相同代码的多个实例。为了利用这种管理和连接,应该与高速缓存系统结合快速进行连接,以避免每次访问都将文件连接在一起。我认为这项工作对这里的答案来说太过分了。看一下W3 Total Cache;该插件可以连接,缩小,缓存结果并加载异步js文件。
cybmeta 2014年

就像@cybmeta所说的那样,W3 Total Cache可以完成这项工作,但是请小心连接js文件。某些脚本不准备在同一文件中“一起”使用。但是也请放心,W3 Total Cache的更改都是可逆的。
Rangel R. Morais 2014年

嘿,感谢您的回答,W3 Total Cache在串联等方面工作得很好,感谢您的建议(和@cybmeta):)
Tom Oakley

嘿,感谢您的回答,对不起,我忘了回复。W3 Total Cache现在可以很好地解决这个问题,而您对WordPress为什么不这样做的解释是完全有意义的。谢谢!
Tom Oakley 2014年

1
如果出于某些原因您不需要或不需要W3总缓存wordpress.org/plugins/autoptimize,
NickFMC 2015年

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.