首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到角库404 loading.gif

问没有找到角库404 loading.gif
EN

Stack Overflow用户
提问于 2022-04-07 09:08:56
回答 1查看 296关注 0票数 -1

我现在有一个单极函数,包含一个标准的角度应用程序。在与我的应用程序相同的水平上,我有一个只包含一个库的角工作区。

我在主应用程序中做了必要的映射,告诉它我的库在哪里。我可以在没有任何问题的情况下使用库的组件。

我有一个名为“加载程序”的组件,它使用位于“资产”文件夹中的gif映像。在构建应用程序时,我看到我的图像在build文件夹中被很好地导出,但是当我打开浏览器时,我收到一个404错误,它找不到我的gif。

projects/my-lib-name/: ng-package.json

代码语言:javascript
复制
  "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
  "dest": "../../dist/hive-commons",
  "assets": ["./assets"],
  "lib": {
    "entryFile": "src/public-api.ts"
  }
}

projects/my-lib-name/src/lib/my-module/my-folder-component: my-component.html

代码语言:javascript
复制
<img src="assets/hive-commons/img/loading.gif" alt="Loading"/>

在workspace-name/dist/my-lib-name/assets/img内部,我可以看到我的loading.gif,但是当我在应用程序中导入这个组件时,我得到了这个404 loading.gif not found -> http://localhost:4200/assets/hive-commons/img/hive-loading-70.gif

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 09:31:32

在angular.json中,您可以从库中提取资产并在项目中重新公开它们。语法是:

代码语言:javascript
复制
"assets": [
  {
    "glob": "**/*",
    "input": "node_modules/my-dependency/assets",
    "output": "./my-dependency-assets/"
  },

当然,您可以决定在./assets而不是./my-dependency-assets中公开它们,但是我不会将应用程序资产与库资产混为一谈,因为对于同名资产来说,这将是一个令人头疼的问题。

例如,在hive中,您可以将资产文件夹重命名为hive-assets,使您的所有库组件都指向资产urls,如./hive-assets/path/to/image.png。

然后,在您的主应用程序中,将dist/hive-commons/hive-assets重新映射到hive-assets

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71779320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档