2016-11-10 60 views
7

我使用角CLI:1.0.0-beta.19-3节点:v5.11.1angular2 - 使用引导,萨斯编译错误角CLI

在我角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 - 萨斯模块,它给关联到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 

回答

13

通过一些研究后,我在这里找到了解决方案。

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

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

$icon-font-path: '~bootstrap-sass/assets/fonts/bootstrap/'; 

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

你在哪里 做这个? – netshark1000

0

我曾与材料设计字体

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"); 
0

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

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