我被带到需要多个使用Angular.js的自定义模块的Drupal 8项目。向每个模块提供Angular文件的最佳方法是什么?
现在,每个模块都引用googleapis.com托管的远程Angular文件my-module.libraries.yml
。
my-module:
version: 1.x
js:
https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js: { type: external, minified: true }
https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular-sanitize.min.js { type: external, minified: true }
js/my-module.js: {preprocess: false}
dependencies:
- core/jquery
- core/jquery.ui
- core/jquery.ui.accordion
但是,我更喜欢在本地托管Angular文件,并将它们作为依赖项列出,就像jQuery一样。
我知道我可以将Angular文件放在模块本身中,但是每个模块都需要自己的副本。
无论采用哪种适当的方法,我的目标都是在本地托管Angular文件,并从依赖于Angular的每个模块中引用它们。
解决此问题的最简单方法是/libraries
在Drupal项目的根目录中添加一个文件夹。然后为您正在使用的每个外部库创建一个子目录,并从module.libraires.yml
文件中引用该子目录。
例如,我创建了/libraries/angular/js
,将文件放置在其中,然后通过/
在下面的代码中以a开头来引用它们。
my-module:
version: 1.x
js:
/libraries/angular/js/angular.min.js: {}
/libraries/angular/js/angular-sanitize.min.js: {}
js/my-module.js: {}
dependencies:
- core/jquery
现在,项目中的任何模块都可以引用相同的文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句