angular - 将外部静态内容加载到 Angular 应用程序中
问题描述
我的文件夹结构如下图所示
root
|- angular_app
|- middleware_app (holds external scripts loaded into angular)
|- assets
|- images
|- fonts
|- ...
问题
我正在通过 .angular-cli.json 脚本数组加载脚本。除了一个小细节外,它们正在加载和运行良好。这些脚本使用资产文件夹中的图像,因此每当他们尝试抓取该图像时,我的控制台中都会出现 404,因为该图像的路径不再正确。
脚本试图通过相对路径访问图像,如下所示:
const ASSET_IMAGE_1_URL = '/images/asset_image_1.svg'
由于其他应用程序对脚本的依赖,上述语法必须保持不变。
解决方案?
如果我可以像处理脚本一样将这些外部资产加载到我的 Angular 应用程序中,并保持该文件夹结构,那就太棒了。如果可以做到这一点,有人可以指导我完成它。谢谢!
旁注
问:为什么不直接将外部资产添加到 Angular 应用程序内的资产文件夹中?
A. 其他应用程序依赖于这些外部资产以及脚本。这意味着我无法在我的角度资产文件夹中创建这些资产的本地副本并更新外部脚本中所述资产的路径。
解决方案
您可以将它们加载到您的 Angular 应用程序中,就像您使用文件中的节点 glob 加载脚本一样angular.json
。在angular.json
修改您assets
的外观时(保留任何现有资产,如默认网站图标):
"assets": [
{ "glob": "**/*", "input": "../assets/images", "output": "/images/" }
]
在构建期间,它将复制../assets/images
到您的相对/images/
路径。有关详细信息,请参阅这个角度 CLI 故事。
推荐阅读
- python-3.x - 即使未调用它所在的函数,subprocess.call 是否也会运行
- java - 在 Controller 类中使用自定义注释时自动装配不起作用
- sql - SQL 防止添加重复记录
- python-3.x - 我可以将维度 [N] 的数组更改为 [None, N] 吗?
- python - 如何使用 Kivy 在 RecycleView 中选择整行
- spring - 属性占位符的弹簧注释模拟
- java - java NIO内部如何工作,内部使用线程池吗?
- sql - 数据库选择优化,默认行
- python - Python:我的代码中有错误,我不知道如何修复它
- java - 用户提示的字符串输入