构建角度库时包含资产

2024-01-12

我正在构建一个包含自定义图标字体的库。但是,当我使用构建我的库时ng build <library-name> --prod,资产文件夹不包含在构建中,这意味着使用生产构建时不会显示图标。

我尝试了多种解决方案,例如添加assets数组中angular.json并将 asset 文件夹复制到创建的 dist 文件夹中。

我使用的是 Angular 8,该库是使用 angular-cli 创建的。

我尝试通过两种方式包含字体: 使用@import url( '../assets/icon_font.css' );在样式文件之一中并添加../assets/icon_font.css到需要它的组件之一中的 styleUrls。 (icon_font.css是包含图标字体的 css 文件)

这是我的库目录的布局:

- src
  - lib
    - assets
      - icon_font.css
      - font files
    - component that requires icons
      - style sheet that has @import icon_font.css
    - other components and classes

我想要 .ttf 和其他字体文件assets/导出的目录中可用dist folder.


正如已经说过的,角度库现在支持资产 https://angular.io/guide/creating-libraries#managing-assets-in-a-library自从v9.x有角的。
但它没有得到很好的解释他们的网站 https://github.com/ng-packagr/ng-packagr/blob/master/docs/copy-assets.md。为了让它发挥作用,你必须:

  1. Add an assets folder at the root of your library project
    enter image description here
  2. Add "assets": ["./assets"],进入ng-package.json图书馆的文件
{
  "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
  "dest": "../../dist/icon",
  "assets": ["./assets"], // <-- Add it here
  "lib": {
    "entryFile": "src/public-api.ts"
  }
}

提醒:tsconfig.lib.json 路径在 Angular 库中不起作用,因此更改后您可能需要手动编辑具有相对路径的资产的导入

  1. ng build custom-project --prod. It then appear in your dist folder
    enter image description here

然后你可以在这个文件夹中添加你想要的内容

附加提示:在您的项目中使用它

然后,如果您希望将其使用到导入的项目中,请执行以下操作:

angular.json 中的资源、js、样式

将这些文件添加到您的angular.json file

 {
   /*...*/
   "assets": [ // Import every assets
     {
       "glob": "**/*",
       "input": "./node_modules/custom-project/assets",
       "output": "/assets/"
     }
   ],
   "styles" : [ // Only custom css
     "node_modules/custom-project/assets/my-css-file.css"
   ],
   "scripts" : [
     "node_modules/custom-project/assets/my-js-file.js"
   ]
 }

Js作为app.module的一部分

也可以直接将js添加到children文件中即使我不确定它是否真的延迟加载这些文件.
例如,进入你的home.module.ts文件、导入

 import 'custom-project/assets/my-js-file.js'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构建角度库时包含资产 的相关文章

  • 使用 Angular 4 将新行添加到 mat-table 中

    如何从输入字段手动将新行添加到 Angular Material 表中 请看这张图片 如果我添加状态名称和状态代码 它应该出现在下表中 请帮助我如何使用 Angular 4 来实现它 我整理了一个简单的示例 应该可以很好地提示您从哪里开始
  • 测试 - 存根服务方法未定义

    我已经在非常简单的代码上编写了一个非常简单的测试 但由于某种原因存根服务方法未定义 当我使用 Jasmine Spy 时 它可以工作 但对于这样一个简单的任务 有人可以解释一下为什么会发生这种情况吗 我删除了 import 语句只是为了减少
  • 数字和文本列的垫排序问题

    我有角度材料数据源 角度材料版本是 5 0 3 排序正在进行中 但是对于某些列 它的排序不正确 那里有数字和文字 例如 排序结果如 XXX 1 1tesxt 1 OPD OXD 12
  • mat-tab-group 不是 Angular 9 中的已知元素

    我正在使用 Angular 9 和 Angular Material 9 2 4 我正在尝试使用mat tab 组在我的 component html 中 但我不断收到错误 mat tab group is not a known elem
  • 在请求标头中设置 Cookie Angular2

    我是 angular2 的新手 我的服务器 spring 在其响应标头中使用 set cookie 值来响应身份验证 如何将该 cookie 设置为下一次 API 调用的请求标头 我搜索了很多 但找不到合适的解决方案 作为http get
  • Angular 2 - 加载时共享服务

    我正在尝试将服务共享给组件 为此 我创建了 service ts 其中代码如下 import Subject from rxjs Subject export class CommonService CommonList new Subje
  • Angular service-worker范围在安装过程中遇到错误

    我正在尝试使用 Angular Service Worker 但在尝试使用它时出现错误 这些是我的版本 Angular CLI 15 2 0 Node 16 18 1 Package Manager npm 8 19 2 OS linux
  • Angular 2 - 突出显示更新的表格单元格

    如何在表中刷新改变其值的单元格 tr td product productName td td product price td tr 在组件中我有产品的输入 Input products Array
  • Angular4 - 滚动到锚点

    我正在尝试对同一页面上的锚元素进行简单的滚动 基本上 用户点击 尝试 按钮 它就会滚动到页面下方 ID 为 登录 的区域 现在 它正在与一个基本的id login a href login a 但它正在跳转到该部分 理想情况下 我希望它滚动
  • 在 Angular 9 应用程序的生产中同时使用 AOT 和 JIT

    因此 我一直在构建一个 Angular 9 应用程序 其中有一个客户仪表板来管理保存在服务器上的模板 这些模板可以通过激活系统在不同的设备上查看 因此设备与用户绑定 所以让我们说https templates com我们有 login da
  • 如何显示 GroupList 的 FormArray?

    我正在尝试制作一个交互式表单 在每一行上列出一个项目以及一个删除按钮 在我的示例中称为 verwijderen 这些项目是从数据库中检索的 并且每个项目都实例化为名为的自定义对象LaborPeriod 然后这些对象被转化为FormGroup
  • 在 Angular 中获取当前路由路径名称的最简单方法是什么?

    我正在寻找一种获取当前路线的路径名称的好方法 这是我能找到的最简单的 this route snapshot firstChild url 0 path 有没有更好的办法 谢谢 谢谢大家的回答 这是我发现我必须做的 router event
  • 资产未考虑基本 href url - 未找到错误

    我刚刚在 Webform 项目中复制了 Angular 构建脚本 并将该项目部署到 IIS 中 注意 我只复制了脚本文件 没有单独部署在 IIS 中 我已将 Angular dist 文件夹复制到 Webform 项目的 Scripts 文
  • 编辑角度材质的表格单元格填充

    当我使用开发人员工具检查该元素时 它显示零填充 但是当我查看它并将鼠标悬停在它上面时 它非常清楚地在单元格内具有填充 我不知道这是从哪里来的 并且设置td padding 0 important 什么也没做 感知到的填充是由以下原因引起的d
  • 如何使用 CLI 在 Angular 4 中创建新组件

    在角度2中我使用 ng g c componentname 但 Angular 4 不支持它 所以我手动创建了它 但它显示错误 它不是一个模块 在 Angular4 中这也是一样的 如果您遇到错误 我认为您的问题出在其他地方 在命令提示符下
  • Angular 以什么方式解决重复的指令/组件选择器?

    如果我包含两个模块 它们都使用相同的选择器定义组件或指令 可以说a routerLink ModuleA 使用选择器定义指令a routerLink ModuleB 使用选择器定义指令a routerLink AppModule 包括模块和
  • *ngFor 的哪种方法更好:ng-container 还是管道切片?

    我想显示完整列表或仅显示其 3 个元素 有条件地 more true false 我可以用管道方法像这样 div class table div class row item id item name div div or ng 容器像这样
  • 观众:覆盖单个测试的提供者(角度通用)

    我构建了一个小型角度应用程序 现在正在编写单元测试 到目前为止一切顺利 但是当我尝试测试我的 authGuard 时 我遇到了一些问题 我在用观众 https github com ngneat spectator 我在规范的提供者部分中提
  • 角度垫排序不适用于带点表示法的 matColumnDef

    我正在尝试按列对表进行排序 当我必须过滤另一个结果中的结果时 就会出现问题 我尝试通过括号表示法和点表示法访问该属性 但没有给出结果 还将最终节点放置在 matColumnDef 中 但失败 因为有 2 列同名 table table
  • 如何调试超时等待异步 Angular 任务?无法在角度页面上找到元素

    编辑 请注意 在 ernst zwingli 的帮助下 我找到了问题的根源 因此 如果您遇到相同的错误 他指出的修复之一可能会帮助您 我的问题是量角器本身的一个已知问题 如果您认为这可能是您 我已经扩展了我的步骤 以在我最初的问题之后查明问

随机推荐

  • 如何在Python中绘制悬挂根图?

    受此启发question https mathematica stackexchange com questions 120174 how to draw a hanging rootogram in mathematica 如何在 pyt
  • 如果下限大于上限,则创建空序列的序列构造

    不止一次体现R的 聪明 seq函数在极端情况下对我造成了严重的打击lower upper 1 gt 1 0 1 1 0 gt seq 1 0 1 1 0 gt seq 1 0 1 Error in seq default 1 0 1 wro
  • RethinkDB 如何生成自动 ID?

    我正在编写一个脚本 该脚本应该合并来自基于 SQL 的数据库的一些数据 每行都有一个长整数作为主键 增量 我正在考虑对这些 id 进行哈希处理 以便它们在某种程度上 看起来 像我的 RethinkDB 表中已有的其他 id 我在这里试图实现
  • 6 位整数的正则表达式不能是连续或重复的数字?

    我正在尝试获取一个正则表达式来检查以确保提供的 int 是 6 位数字 并且它不是连续的 也不包含所有重复数字 无论是升序还是降序 我并不关心正则表达式是否返回与不允许的数字的匹配 或者返回与允许的原始数字的匹配 例如 所有这些数字都是我需
  • Android 自动圆形图库

    我的图库小部件包含 1 10 张要滑动的图像 我知道当我在屏幕上进行条纹时 图像从左向右滚动 我想要自动循环图库在 10 后自动从第一张图像开始 有没有自动循环适配器或方法 final Gallery g Gallery findViewB
  • Scala XML 支持如何工作?

    我确信这应该是显而易见的 但我可以找到有关我的问题的任何参考资料 Scala XML 使用什么底层技术 它是类似 DOM 或 SAX 或 StAX 的东西吗 处理大型文档时我应该注意哪些性能损失 StAX 是否更高效 提前致谢 可以处理大文
  • CSS 变量名中允许使用句点吗?

    例如 我可以有一个名为如下的 css 变量 Button onHover 请注意 CSS 变量与 CSS 选择器不同 我必须解释这一点 因为有人将其标记为重复项 这是模块中的示例superfly css 变量 颜色 https github
  • 如何抛出不会终止我的程序的 IllegalArgumentException?

    好吧 我有一个带有 switch 语句的方法 但我省略了其余的情况 因为它们并不重要 在我的主要方法中 调用运算符方法并在 while 循环中传递参数 选择 直到他们选择 Q 当用户输入负数时 它应该抛出异常 打印一条消息 并忽略他们的输入
  • 在流畅的界面中实现条件

    我一直在尝试为我的系统中的一组规则实现一个流畅的界面 我想要完成的是这个 TicketRules RequireValidation When quartType gt quartType QuartType Before TotalMil
  • PHP奇怪的DOCUMENT_ROOT

    基本上 我正在编写一个框架 作为其功能的一部分 它应该为最终开发人员提供一组完善的 URI 路径 其中两条路径利用 SERVER DOCUMENT ROOT Absolute filesystem path to web root inst
  • 如何从 Jersey 的 ContainerRequest 中提取请求属性?

    HttpServletRequest有一个方法setAttribute String Object 我怎样才能从中提取这个属性ContainterRequest 我没有找到 getAttribute method Code public c
  • 创建 WooCommerce 自定义 API

    由于开箱即用的 WooCommerce REST API 中缺乏许多功能 我正在考虑创建一个 WooCommerce 端点 例如 付款 产品插件等 但我找不到任何可以开始的东西 也没有关于如何扩展 WooCommerce 以创建新端点的文档
  • 在调用 RunWorkerAsync 之后但在函数退出之前取消订阅 DoWork 是否安全?

    我有很多方法 虽然它们一次只运行一种 但它们都使用相同的RunWorkerCompleated and ProgressChanged方法 但它们都有不同的Dowork方法 执行以下操作是否安全 private void button Pr
  • 读取嵌入换行符的 CSV 文件

    我正在处理从网站上抓取的文件 该文件保存为带有引号字段的分号 csv 最后一个字段包含嵌入的换行符 我一直在编写一个脚本来处理该文件 我对 Perl 相当陌生 起初是用普通的 Perl 脚本尝试它 但很快发现它不起作用 我做了研究 发现我应
  • Android:以编程方式更改选项卡文本颜色

    我有一个像这样的 TabHost
  • 用keras网格搜索隐藏层数

    我正在尝试使用 Keras 和 sklearn 优化我的神经网络的超参数 我正在结束 KerasClassifier 这是一个分类问题 我正在尝试优化隐藏层的数量 我不知道如何使用 keras 做到这一点 实际上我想知道如何设置函数 cre
  • 升级到 VS2017 后 VSTS 托管构建失败

    我已将最初在 VS2015 中创建的 asp net core 项目 project json 升级为 VS2017 MSBuild 项目格式 csproj 构建定义如下所示 Restore Build and Test构建步骤最终会出现以
  • 在训练 CNN 进行文本分类时如何微调 word2vec?

    我有 3 个关于微调词向量的问题 请帮帮我 我会非常感激的 提前谢谢了 当我训练自己的 CNN 进行文本分类时 我使用 Word2vec 来初始化单词 然后我只是使用这些预先训练的向量作为我的输入特征来训练 CNN 所以如果我从来没有嵌入层
  • Castle Windsor:我的瞬态组件会被垃圾收集吗?

    使用温莎城堡 我有一个配置了瞬态生活方式的组件
  • 构建角度库时包含资产

    我正在构建一个包含自定义图标字体的库 但是 当我使用构建我的库时ng build