2014-02-14 84 views
2

我使用Yeoman,Bower和Grunt(npm install -g yo grunt-cli bower)设置了一个快速应用程序。我安装了AngularJS生成器(npm install -g generator-angular)并运行yo angular来设置项目目录。最后在安装Bootstrap for Angular(bower install angular-bootstrap --save)。Grunt手表无法编译.scss,无法找到sass-bootstrap/lib/bootstrap

当我运行grunt server --force时,我发现作为项目样式目录一部分的.scss没有被编译为.css。相反,这个错误是:

Syntax error: File to import not found or unreadable: sass-bootstrap/lib/bootstrap. 
      Load path: C:/Users/C8M9S/Desktop/myAngular/app/styles 
    on line 3 of main.scss 

1: $icon-font-path: "/bower_components/sass-bootstrap/fonts/"; 
2: 
3: @import 'sass-bootstrap/lib/bootstrap'; 

任何想法,为什么这不是编译?

回答

1
$icon-font-path: "/bower_components/sass-bootstrap/fonts/"; 

正在寻找整个文件系统根目录下的bower_components文件夹。在开始处删除/,并找出相对文件路径与sass文件所在的bower组件文件夹的相对路径。这样的事情:

$icon-font-path: "../../bower_components/sass-bootstrap/fonts/"; 
+0

钍阿克斯,这是我应该捡起来的一个重点。 –

+0

我发现这个问题与最新的角发生器 – FutuToad

4

但错误说它在第3行和第3行的代码甚至不使用$ icon-font-path! 我有一个类似的问题和解决方案是修改Gruntfile.js config来告诉其中的部件按使用“loadPath”参数咕噜:

grunt.initConfig({ 
    sass: { 
    dist: { 
     options: { 
     style: 'expanded', 
      loadPath: 'bower_components/foundation/scss' 
     }, 
     files: { 
      'public/static/css/main.css': 'app/frontend/scss/foundation.scss' 
     } 
     } 

现在,如果在foundations.scss你有下面这行: @import “基础/组件/手风琴”

它看起来手风琴组件:bower_components /基础/ SCSS /基础/组件/手风琴

希望这有助于:)

+0

这似乎都有点不稳定这些前缘角发生器.. – FutuToad