由网友(知南温茶暖)分享简介:我building an angular components library,正在使用NX工作区。我正在实现一个文件上传器。此上载器将包含图像(SVG),该图像应包含在库/包中。我在Internet上找到的所有解决方案都要求库的消费者更新他们的angular.json应用程序部分。对我来说,这是绝对不可能的。以下...
我building an angular components library,正在使用NX工作区。 我正在实现一个文件上传器。此上载器将包含图像(SVG),该图像应包含在库/包中。
我在Internet上找到的所有解决方案都要求库的消费者更新他们的angular.json
应用程序部分。对我来说,这是绝对不可能的。以下是我找到的一些解释这一点的资源:
我已经修改了ng-Package.json,添加了assets
字段:
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/libs/example-ng-bootstrap",
"assets": ["./assets"],
"lib": {
"entryFile": "src/index.ts"
}
}
已尝试添加
"targets:build:options:assets": [
"libs/example-ng-bootstrap/src/assets"
]
到lib angular.json部分(project t.json-NX angular.json V2样式),它根本不会构建。
已尝试以下ng-Package.json配置:
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/libs/example-ng-bootstrap",
"assets": ["/dist/libs/example-ng-bootstrap/lib/assets"],
"lib": {
"entryFile": "src/index.ts"
}
}
在包含的链接中,它确实解释了如何为您构建一个NX原理图来实现这一点,但是,构建使用此库的应用程序(角度工作空间样式)的任何人都可能无法使用此原理图。
其他人(在GitHub链接中)也提到,一些解决方案仅适用于同一NX工作区内的应用,当然这也对任何人都没有帮助。
我感到困惑的是,为什么由库交付的资产不能开箱即用,或者不修改使用的应用程序。你也可以通过U盘把它们送到……不过,我可以提供一个棱角分明的示意图。
另外,我更愿意通过css设计图标,而不是消费者必须更新自己的文件,但我仍然想知道是否有好的解决方案。
有没有人有专业处理这个问题的经验?
编辑
似乎很难找到如何使用NX构建和发布角度原理图的信息,但this seems to be a useful link
推荐答案
这是我的最终ng-package.json
:
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/libs/mycompany-ng-bootstrap",
"lib": {
"entryFile": "src/index.ts"
},
"assets": [
"./src/assets/**",
"./src/styles/**",
"./_bootstrap.scss"
]
}
发布dist文件后,例如发布到NPM,我可以引用angular.json
"styles": [
"node_modules/@mintplayer/ng-bootstrap/_bootstrap.scss",
"src/styles.scss"
],
相关推荐
最新文章