很多时候我们要引入其他js扩展,比如图表、地图等。

一般来说,js扩展头可以兼容了requirejs的引入方法,但是有的却不行,比如很多地图的JS地址,如果使用require就会出错。但我们又必须将这些JS放到页面的最开头。

如果我们视图把加载的脚本放到requirejs之后或内部页面,requirejs会报错。

此时可以使用js动态引入脚本,这样有几个好处:

  • 避免在所有页面上引入了不必要的js资源
  • 避免了requirejs的报错

基本代码

  1. //异步创建script
  2. var script = document.createElement('script');
  3. script.src = '需要全局引入的js资源'
  4. document.head.append(script);
  5. script.onload = function () {
  6. run()
  7. }
  8. function run(){
  9. // 正常的代码
  10. }

一般来讲,可以放到Controller的js的某一个页面方法中,只有在加载这个页面时才会调用这个js。

原文标题:异步引入全局script

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/63e35f5e3c6d4/zh-cn/2.x.html

原文平台:奥宏文档

2.x