首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局样式没有通过使用ng-packagr将"assets“添加到ng-package.json来应用于Angular库

全局样式没有通过使用ng-packagr将"assets“添加到ng-package.json来应用于Angular库
EN

Stack Overflow用户
提问于 2021-07-08 15:33:24
回答 2查看 217关注 0票数 1

我正在开发一个带有storybook的angular库(版本9.1.11),我想在其中添加全局样式。我知道对于ng-packagr版本9.x和更高版本,可以将资源复制到库包中,作为构建过程的一部分,以全局添加样式。

"ng-packagr:" "~9.1.5"已经在我的package.json中的devDependencies中,所以我没有重新安装它。

我所做的如下:我在我的库的根目录中创建了global.scss文件。我针对我的global.scss文件在ng-package.json中添加了"assets“。我在global.scss文件中添加了样式。我运行npm run build将global.scss文件复制到dist文件夹中。

在此之后,我的global.scss文件中的样式将不会应用到我的库中。

我遗漏了什么?为什么这些样式没有被全局应用?如何使用ng-packagr正确地将样式全局添加到我的库中

我的库中的文件是这样的:

下面是我的ng-package.json的样子:

代码语言:javascript
复制
    {
  "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
  "dest": "../../dist/libs/angular-components",
  "assets": ["./global.scss"], <- ADDED HERE
  "lib": {
    "entryFile": "src/public_api.ts",
    "umdModuleIds": {
      "color": "color",
      "uuid": "uuid"
    }
  },
  "whitelistedNonPeerDependencies": [
    "color",
    "tslib",
    "uuid"
  ]
}
EN

回答 2

Stack Overflow用户

发布于 2021-09-30 04:21:31

在6.4版本中,这个问题将由这个PR解决

目前有一种解决方法。

创建一个应用程序,以便在angular.json中加载故事书

tsconfig.json需要指向正确的一个。

代码语言:javascript
复制
"storybook": {
  "projectType": "application",
  "root": "",
  "sourceRoot": "src",
  "prefix": "app",
  "architect": {
    "build": {
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "tsConfig": "tsconfig.json",
        "styles": [
            // Add your global stylesheets
        ],
        "scripts": []
      }
    }
  }
}

source

我在我的NX项目中使用了它,它工作得很好。

票数 1
EN

Stack Overflow用户

发布于 2021-08-26 13:59:57

尝试在ng-package.json中添加以下内容:

代码语言:javascript
复制
"lib": {
      "cssUrl": "inline"
    }

并包含组件样式中的global.scss。然而,我建议你用你的风格创建一个新的库,并导入这个库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68297373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档