代码之家  ›  专栏  ›  技术社区  ›  Marcus Lind

Angular build找不到已安装的Font Awesome node\u模块

  •  1
  • Marcus Lind  · 技术社区  · 8 年前

    每当我使用 ng build --prod 我收到以下错误:

    ERROR in ./src/styles.scss
    Module build failed: 
      ModuleBuildError: Module build failed: 
        Error: Can't resolve '~font-awesome/css/font-awesome.css' in '/app/src'
    

    styles.css 使用 @import "~font-awesome/css/font-awesome.css"; . 我已验证路径,并且模块已正确安装在 node_modules/font-awesome .

    我还尝试导入 scss 有文件结尾和无文件结尾的版本。当我移除 @import 语句一切正常,尽管我在同一个文件中使用了其他导入到其他node\u模块的方法,所以这似乎只是font awesome软件包的一个问题。。。

    此外,我在docker容器中使用SSH来检查 node_modules/font-awesome/css/font-awesome.css 存在,它确实存在。

    思想?

    3 回复  |  直到 8 年前
        1
  •  2
  •   Marcus Lind    8 年前

    我不知道为什么该文件的CSS版本从来都不起作用,但我能够找到 docs on the angular-cli 这给了我一些如何让它工作的提示。

    1) 导入SCSS版本而不是CSS版本。

    @import "~font-awesome/scss/font-awesome.scss";
    

    2) 将字体路径定义为SCSS变量。

    $fa-font-path: "~font-awesome/fonts";
    

    请注意,必须在 @import 陈述

    奇怪的是,那个错误是随机发生的。对于一个开发人员来说,一切都很好,但当把回购协议拉到第二台计算机上时,这个问题就出现了。

        2
  •  0
  •   bahek2462774    8 年前

    这对我很有用(这一行在我的主应用程序css中)

    @import "node_modules/font-awesome/scss/font-awesome";
    
        3
  •  0
  •   Nadhir Falta    8 年前

    你需要在你的 .angular-cli.json 文件添加 styles 在下面 apps 像这样:

    {
      "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
      "project": {
        "name": "MyProject",
        "ejected": false
      },
      "apps": [
        {
          "root": "src",
          "outDir": "dist",
          "assets": [
            "assets",
            "manifest.json",
            {
              "glob": "**/*",
              "input": "../node_modules/leaflet/dist/images",
              "output": "./assets/",
              "allowOutsideOutDir": false
            }
          ],
          "index": "index.html",
          "main": "main.ts",
          "polyfills": "polyfills.ts",
          "test": "test.ts",
          "tsconfig": "tsconfig.app.json",
          "testTsconfig": "tsconfig.spec.json",
          "prefix": "app",
          "serviceWorker": true,
          "styles": [
            "assets/sass/global/loading.css",
            "../node_modules/font-awesome/css/font-awesome.min.css", <===================
            "styles.scss"
          ],
          "scripts": [],
          "environmentSource": "environments/environment.ts",
          "environments": {
            "dev": "environments/environment.ts",
            "demo": "environments/environment.demo.ts",
            "prod": "environments/environment.prod.ts",
            "qa": "environments/environment.qa.ts",
            "e2e": "environments/environment.e2e.ts"
          }
        }
      ],
      "e2e": {
        "protractor": {
          "config": "./protractor.conf.js"
        }
      },
      "lint": [
        {
          "project": "src/tsconfig.app.json",
          "exclude": "**/node_modules/**"
        },
        {
          "project": "src/tsconfig.spec.json"
        },
        {
          "project": "e2e/tsconfig.e2e.json"
        }
      ],
      "test": {
        "karma": {
          "config": "./karma.conf.js"
        }
      },
      "defaults": {
        "styleExt": "scss",
        "component": {
        }
      }
    }
    
    推荐文章