【发布时间】:2020-10-28 13:30:52
【问题描述】:
我正在使用 Angular 8,并且我有一个单独的应用程序,它有自己的 CSS 样式和资源。我想将库组件嵌入到主应用程序中,例如
<lib-landing-page-preview></landing-page-preview>
目录结构是
库资源位于/projects/landing-page-preview/src/assets 内,其中style.scss 是scss 目录内的主CSS 文件。
根angular.json 文件已更新
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
... // main application project
"landing-page-preview": {
"projectType": "library",
"root": "projects/landing-page-preview",
"sourceRoot": "projects/landing-page-preview/src",
"prefix": "lib",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "projects/landing-page-preview/tsconfig.lib.json",
"project": "projects/landing-page-preview/ng-package.json",
"assets": [
{
"glob": "*/*",
"input": "projects/landing-page-preview/src/assets",
"output": "src/assets"
}
]
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/landing-page-preview/src/test.ts",
"tsConfig": "projects/landing-page-preview/tsconfig.spec.json",
"karmaConfig": "projects/landing-page-preview/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/landing-page-preview/tsconfig.lib.json",
"projects/landing-page-preview/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}},
"defaultProject": "qcg-frontend"
}
在开发过程中,我是使用以下命令构建的库
ng build landing-page-preview --watch
并使用
运行主应用程序ng serve
但库目录中的资产文件似乎不起作用。
ng build landing-page-preview --watch 命令给出
Schema validation failed with the following errors:
Data path "" should NOT have additional properties(assets).
【问题讨论】:
-
你是什么意思似乎不起作用?它们没有被显示,是你的意思吗?
-
没有应用 CSS 样式