Angular 应用无法识别 StencilJs 自定义 Web 组件的全局样式
Global styles for StencilJs custom web component not recognized in Angular app
我使用 Stencil 创建了自定义 Web 组件。
我在/src/global/global.scss
中设置了一堆CSS变量:
例如:
:root {
--font-family: 'Roboto Condensed';
--font-size: 1.75rem;
... etc ...
}
我的 stencil.config.ts 看起来像这样:
export const config: Config = {
namespace: 'my-component',
globalStyle: 'src/global/global.scss',
outputTargets: [
{
type: 'dist',
esmLoaderPath: '../loader',
},
{
type: 'dist-custom-elements-bundle',
}
],
};
如果我将组件发布到 NPM,然后将它安装到我的 Angular 应用程序中,它可以工作,除了它不识别定义的任何变量在全局 CSS 文件中。
在我的 Angular 项目中 - 文件在这里,并且确实包含变量:
/node_modules/my-component/dist/my-component/my-component.css
只是我的 Angular 项目似乎不知道该文件。
我在别处读到我应该将这一行包含在我的 Angular 项目的 index.html 文件中:
<link rel="stylesheet" href="/dist/my-component/my-component.css">
但是,我试过了,当我 运行 ng serve
时,浏览器找不到:
http://localhost:4200/dist/my-component/my-component.css
我猜我遗漏了一些告诉 Angular 将 CSS 文件从 /node_modules/my-component/dist/my-component/my-component.css
复制到 dist/my-component/my-component.css
的配置设置,但我没有不知道如何或在哪里做。
在angular.json中:
"styles": [
"./node_modules/my-component/dist/my-component/my-component.css",
"src/styles.scss"
],
我使用 Stencil 创建了自定义 Web 组件。
我在/src/global/global.scss
中设置了一堆CSS变量:
例如:
:root {
--font-family: 'Roboto Condensed';
--font-size: 1.75rem;
... etc ...
}
我的 stencil.config.ts 看起来像这样:
export const config: Config = {
namespace: 'my-component',
globalStyle: 'src/global/global.scss',
outputTargets: [
{
type: 'dist',
esmLoaderPath: '../loader',
},
{
type: 'dist-custom-elements-bundle',
}
],
};
如果我将组件发布到 NPM,然后将它安装到我的 Angular 应用程序中,它可以工作,除了它不识别定义的任何变量在全局 CSS 文件中。
在我的 Angular 项目中 - 文件在这里,并且确实包含变量:
/node_modules/my-component/dist/my-component/my-component.css
只是我的 Angular 项目似乎不知道该文件。
我在别处读到我应该将这一行包含在我的 Angular 项目的 index.html 文件中:
<link rel="stylesheet" href="/dist/my-component/my-component.css">
但是,我试过了,当我 运行 ng serve
时,浏览器找不到:
http://localhost:4200/dist/my-component/my-component.css
我猜我遗漏了一些告诉 Angular 将 CSS 文件从 /node_modules/my-component/dist/my-component/my-component.css
复制到 dist/my-component/my-component.css
的配置设置,但我没有不知道如何或在哪里做。
在angular.json中:
"styles": [
"./node_modules/my-component/dist/my-component/my-component.css",
"src/styles.scss"
],