【问题标题】:angular2 - bootstrap-sass compilation error using angular-cliangular2 - 使用 angular-cli 的 bootstrap-sass 编译错误
【发布时间】:2017-03-24 09:36:36
【问题描述】:

我正在使用 angular-cli: 1.0.0-beta.19-3node: v5.11.1

在我的 angular-cli.json 文件中,我已将全局样式文件扩展名设置为 .scss。

这是我的样式文件。

angular2/src/styles.scss

// Default Font
@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);

// Typography
$font-family-sans-serif: "Raleway", sans-serif;
$font-size-base: 14px;
$line-height-base: 1.6;
$text-color: #636b6f;

// Import bootstrap
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";

当我尝试导入 bootrap-sass 模块时出现错误,它给出了与 glyphicon 图标相关的错误。不知道怎么解决。

ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss
Module not found: Error: Can't resolve '../fonts/bootstrap/glyphicons-halflings-regular.eot' in '/var/www/angular/src'
 @ ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss 6:4253-4315 6:4338-4400
 @ ./src/styles.scss
 @ multi styles

ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss
Module not found: Error: Can't resolve '../fonts/bootstrap/glyphicons-halflings-regular.woff2' in '/var/www/angular2/src'
 @ ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss 6:4452-4516
 @ ./src/styles.scss
 @ multi styles

ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss
Module not found: Error: Can't resolve '../fonts/bootstrap/glyphicons-halflings-regular.woff' in '/var/www/angular2/src'
 @ ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss 6:4549-4612
 @ ./src/styles.scss
 @ multi styles

ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss
Module not found: Error: Can't resolve '../fonts/bootstrap/glyphicons-halflings-regular.ttf' in '/var/www/angular2/src'
 @ ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss 6:4644-4706
 @ ./src/styles.scss
 @ multi styles

ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss
Module not found: Error: Can't resolve '../fonts/bootstrap/glyphicons-halflings-regular.svg' in '/var/www/angular2/src'
 @ ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss 6:4742-4804
 @ ./src/styles.scss
 @ multi styles

【问题讨论】:

    标签: angular angular-cli bootstrap-sass


    【解决方案1】:

    经过一番研究,我在这里找到了解决方案。

    https://github.com/angular/angular-cli/issues/2170

    在导入引导 sass 文件之前,我必须为 glyphicons 设置图标路径。即。

    $icon-font-path: '~bootstrap-sass/assets/fonts/bootstrap/';
    
    // Import bootstrap
    @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
    

    【讨论】:

    • 你在哪里做这个?
    【解决方案2】:

    我在使用材料设计字体时遇到了同样的问题

    src: url("../font/material-design-icons/Material-Design-Icons.eot?#iefix") format("embedded-opentype"), url("../font/material-design-icons/Material-Design-Icons.woff") format("woff"), url("../font/material-design-icons/Material-Design-Icons.ttf") format("truetype"), url("../font/material-design-icons/Material-Design-Icons.svg#Material-Design-Icons") format("svg");
    

    而正确的做法是在行首添加一个“~”:

    src: url("~/font/material-design-icons/Material-Design-Icons.eot?#iefix") format("embedded-opentype"), url("../font/material-design-icons/Material-Design-Icons.woff") format("woff"), url("../font/material-design-icons/Material-Design-Icons.ttf") format("truetype"), url("../font/material-design-icons/Material-Design-Icons.svg#Material-Design-Icons") format("svg");
    

    【讨论】:

      【解决方案3】:

      把它放在你的 .angular-cli.json 中:

              "stylePreprocessorOptions": {
                  "includePaths": [
                      "../node_modules"
                  ]
              },
      

      【讨论】:

        猜你喜欢
        • 2016-12-12
        • 2018-01-10
        • 2019-03-30
        • 2016-10-30
        • 2017-09-07
        • 2018-04-20
        • 1970-01-01
        • 2017-04-27
        • 1970-01-01
        相关资源
        最近更新 更多