当前位置: 首页 > 知识库问答 >
问题:

在angular 6库中包含“资产”

华乐逸
2023-03-14

为了“打包”这些资产,我已经尝试了几乎所有可能的方法,但我要么得到错误,说明数据路径“”不应该有额外的属性(样式)。当我试图向Angular.json添加资产或样式时······或者它没有执行我希望它执行的操作,导致在ng服务期间无法找到资产的错误。

我是不是对角库要求太高了?还是一个充满组件及其CSS的库不是一个原子单元,我可以插入任何其他Angular应用程序?

我做错了什么/误解了什么,我们应该如何将资产“打包”到我们的库中,以便它们在安装包时继续前进。

谢谢你提前澄清。

共有1个答案

赫连华皓
2023-03-14

您已经在使用viewencapsulation.none的解决方案时走上了正确的轨道。您可以在库中创建一个包含全局所需的所有样式的容器组件。然后按照您在文章中的建议,在应用程序中使用该组件作为根标记。然后样式会自动包含到整个页面中。

下面是示例组件的外观:

import { Component, ViewEncapsulation } from '@angular/core';

@Component({
  selector: 'lib-assetlib',
  template: '<ng-content></ng-content>',
  styleUrls: ['assetlib.component.css', 'libstyles.css'],
  encapsulation: ViewEncapsulation.None
})
export class AssetlibComponent {
}

您可以在样式URL中导入许多css文件,如在我的示例中所见。然后,您只需将其作为根标记添加到App.Component模板中,样式将全局应用于整个页面。不需要在Angular.json中引用任何内容。

<lib-assetlib>
<!--The content below is only a placeholder and can be replaced.-->
<div style="text-align:center">
  <h1>
    Welcome to {{ title }}!
  </h1>
  <img width="300" alt="Angular Logo" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==">
</div>
<h2>Here are some links to help you start: </h2>
<ul>
  <li>
    <h2><a target="_blank" rel="noopener" href="https://angular.io/tutorial">Tour of Heroes</a></h2>
  </li>
  <li>
    <h2><a target="_blank" rel="noopener" href="https://github.com/angular/angular-cli/wiki">CLI Documentation</a></h2>
  </li>
  <li>
    <h2><a target="_blank" rel="noopener" href="https://blog.angular.io/">Angular blog</a></h2>
  </li>
</ul>
<i class="fas fa-stroopwafel"></i> <!--This uses a style that comes from the library-->
</lib-assetlib>
 类似资料:
  • 如果任何人有一个解决办法,或者可以指出我应该读什么的方向,以进一步理解这一点,这将是非常感谢的。 参见下面的cmakelists.txt

  • 本文向大家介绍如何在Visual Studio 2012中包含库?,包括了如何在Visual Studio 2012中包含库?的使用技巧和注意事项,需要的朋友参考一下 要在Visual Studio 2012中添加库,有两种不同的方法。第一个是手动方法。第二个是从代码添加库。 首先让我们看看手动方法。 要添加一些库,我们必须遵循以下五个步骤: 使用适当的声明添加#include语句必要的文件。例如

  • 问题内容: 我有一些可怕的行为。我有以下Maven配置: 这将创建包含所有类的JAR文件,但我在类路径中有一些资源也应包括在内。如果我将参数放在阶段的前面,那么我的所有资源都会包括在内。如果我使用运行Maven ,则不包含任何资源。我的资源位于(不是通常的目录)下。 问题答案: 目标配置中未正确定义资源的源目录。同样,outputDirectory元素将资源放置在dir中,默认情况下将其打包。试试

  • 我有一些可怕的比目鱼。我有以下Maven配置: 这创建了包含所有类的JAR fie,但我在类路径中有一些资源也应该包括在内。如果我将参数留在phase前面,那么我的所有资源都包括在内了。如果我使用运行maven,则不包含任何资源。我的资源在(不是通常的目录)下。

  • 问题内容: 我们正在使用加载属性信息。我们的属性文件已经变得非常庞大,我们正在考虑将主属性文件分成几个子模块。有可能实现这一目标吗? 让我知道? 问题答案: 首先,我想知道为什么您选择了。给出问题的表达方式后,您似乎不必关心本地化/国际化或捆绑文件继承。 有了它,它就变得异常容易,因为它实现了反过来又提供了一种合并另一张地图的方法。开球示例: 如果您真的坚持使用,则最好的选择是创建一个自定义,在该