如何在 Angular 中@import CSS 文件?

OPV*_*OPV 3 angular angular6 angular8

我有一个文件需要在另一个 css 文件中使用。

为此,我已将此添加到 angular.json 文件中:

   "styles": ["src/assets/css/theme.scss"],
Run Code Online (Sandbox Code Playgroud)

然后我尝试在 css 文件中使用它:

@import "theme.scss";
Run Code Online (Sandbox Code Playgroud)

Angular 找不到这条路径。

Gre*_*eye 6

如果要指向组件中的 css/scss 文件,可以在options节点中的 angular.json 中添加样式文件夹的快捷方式,如下所示:

        "my-app": {
            "root": "...",
            "sourceRoot": "...src",
            "projectType": "application",
            "architect": {

                "build": {
                    [...]
                    "options": {
                        [...]
                        "stylePreprocessorOptions": {
                          "includePaths": [
                            "projects/my-app/src/styles" // path to your styles folder
                          ]
                        }
                    }
                    
                },

            }
        },
Run Code Online (Sandbox Code Playgroud)

然后,无论何时使用@import "...";,它都会从css文件夹开始,因此您可以使用@import "theme.scss";

  • +1这是一个很好的答案,但它并没有指出“theme.scss”的源代码将在构建过程中移动到“/dist”文件夹,然后人们可以从网络下载源代码服务器。源代码从未被使用,因为 SASS 已将其导入 JavaScript 包中。因此,请使用上述选项,但将代码从资产文件夹中移出。该文件夹用于存放静态文件。 (2认同)

小智 5

转到angular.json并包含"styles": ["../assets/css/theme.scss","styles.css"],