如何在使用CLI创建的Angular库中包含第三方模块

Tee*_*ebo 5 angular ng-packagr angular-cli-v6

我想在使用CLI generate library命令创建的Angular库中使用Pure.css模块。

我有一个工作区应用程序,在其中运行了generate library用于创建库的命令。该库已成功创建,我可以将其链接并安装到其他项目中。但是我想使用Pure.css库中的网格系统,在工作区应用程序的angular.json文件(包含库的一个)中,我在库项目的构建配置中有样式条目。

"styles": [
   "node_modules/purecss/build/pure-min.css",
   "node_modules/purecss/build/grids-responsive-min.css"
]
Run Code Online (Sandbox Code Playgroud)

在一个库的组件中,我有一个使用Pure.css规则的标记,例如

<div class="pure-g">
  <div class="pure-u-1-3"><p>Thirds</p></div>
  <div class="pure-u-1-3"><p>Thirds</p></div>
  <div class="pure-u-1-3"><p>Thirds</p></div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,当我在外部项目中使用组件时,很明显,没有应用样式。

因此,我已将Pure.css样式文件导入相应组件的.css文件中,例如

@import url("node_modules/purecss/build/pure-min.css");
@import url("node_modules/purecss/build/grids-responsive-min.css");
Run Code Online (Sandbox Code Playgroud)

这可行,但我希望将Pure.css库中的样式包含在整个库中,而不是仅包含一个组件。

有没有一种方法可以做到这一点,我已经做了一些搜索但是找不到任何资源,是否可以配置ng-packagr使其在库的构建中包括样式?

我正在使用package.json文件中定义的脚本从包含工作区的项目中构建库

"build:lib": "ng-packagr -p projects/my-library-project/package.json"
Run Code Online (Sandbox Code Playgroud)

以及通常如何将第三方模块安装到库项目中,是否通过工作空间项目安装它们?

感谢您的任何帮助,谢谢。

Sur*_*iya 0

您可以在 tsconfig.json 中导入第三方库

"paths": {
  "example-ng6-lib": [
    "dist/example-ng6-lib"
  ]
}
Run Code Online (Sandbox Code Playgroud)