【问题标题】:How to add font awesome using ASP.NET.Core Angular template如何使用 ASP.NET.Core Angular 模板添加很棒的字体
【发布时间】:2018-02-13 14:37:48
【问题描述】:

我正在使用 NET.Core 2.0 Angular 模板,它与 webpack、angular-cli、angular 组件、typescript 一起使用。

我做到了:

命令行 - 安装包和加载器

npm install --save font-awesome
npm install url-loader --save-dev

webpack.config.js - 添加加载器规则

    module: {
        rules: [
             ...
            { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader" },
            { test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader" }
        ]
    },    

my.component.css - 导入到我的组件

@import '~font-awesome/css/font-awesome.css';

my.component.html - 放置图标

<i class="fa fa-check fa-6"></i>

现在我没有收到错误消息,但仍然看不到图标。

我做错了吗?

【问题讨论】:

  • 这与 Angular 或 ASP.Net Core 无关,它只是纯 CSS。不能在导入中使用~,试试:@import '/font-awesome/css/font-awesome.css';
  • 我不断收到此错误Error: Cannot find module "-!../../../../node_modules/css-loader/index.js!./font-awesome/css/font-awesome.css" at webpackMissingModule~ 没问题。

标签: angular webpack asp.net-core asp.net-core-2.0


【解决方案1】:

谢谢大家的帮助~

最终我通过将 webpack.config.js 更新为:

解决了这个问题:
module: {
  loaders: [
    {
        test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
        loader: "url-loader"
    },
    {
        test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
        loader: "url-loader"
    }
  ]
}

而不是放在rules: [...]

rules 不起作用很奇怪……但无论如何~:P

【讨论】:

    【解决方案2】:

    也许我是唯一一个像npm install fontawesome --save 这样安装了font-awesome 的人?好吧,它应该像npm install font-awesome --save。该死!

    【讨论】:

      【解决方案3】:

      这适用于 .NET Core 2,在您使用 dotnet new angular 创建 SPA 项目后:

      1. 进入项目根目录并安装包:npm install font-awesome --save。您现在应该在 package.json 依赖项中看到它。

      2. 之后转到webpack.config.vendor.js 并将字体真棒添加到不可摇树模块下的数组中:

        const nonTreeShakableModules = [
            'bootstrap',
            'bootstrap/dist/css/bootstrap.css',
            'es6-promise',
            'es6-shim',
            'event-source-polyfill',
            'font-awesome/css/font-awesome.css',
            'jquery',
        ];
        
      3. 现在我们需要告诉 webpack 我们添加了这个新包。因此,如果您在使用 npm install --save-dev npm-install-webpack-plugin 将其安装到项目的根目录之前还没有这样做。

      4. 最后,在项目根目录下运行这个命令:webpack --config webpack.config.vendor.js

      【讨论】:

      • 非常感谢!我把头发扯掉了。我不必执行第 3 步,只需执行第 4 步。
      • 仅供参考 - 我上面的评论是针对 webpack 版本 2.5.1。
      • 我必须在全球范围内安装 webpack npm install -g webpack 才能让#4 为我工作。我还必须记得重建我的应用程序和 F5 以查看浏览器中的更改。
      • 这些都不适合我。我从一个新的角度模板开始。我已将 .css 条目添加到 nonTreeShakableModules 数组中。然后我运行了第 3 步,这给了我一个错误。所以我尝试了第 4 步(有和没有全局 webpack 安装),我得到“缺少脚本:webpack”。
      • dotnet new angular 之后我没有 webpack.config.vendor.js。我可以简单地做一个吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 2018-02-06
      • 2022-01-07
      相关资源
      最近更新 更多