我使用Sass和Yeoman的角度全堆栈生成器建立了一个webapp。它似乎运行正常,直到我意识到每次grunt尝试运行任务时输出的错误。这是输出:
/Users/rorysmith/.rvm/rubies/ruby-2.2.1/bin/scss --no-cache --update app.scss:app.css
error app.scss (Line 4: File to import not found or unreadable: ../bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap.)
Process finished with exit code 1
它指的是app.scss
文件中的一行:
@import '../bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap'
我在开始时将目录更改为包含../
,因为这是bower_components
生效的地方:
当注释掉时,它与同一文件的不同行有一个问题:
@import 'modal/modal.scss';
这是app.scss
文件的全部内容,它只是生成器创建的库存:
$icon-font-path: "../bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap";
$fa-font-path: "../bower_components/font-awesome/fonts";
@import '../bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap';
@import '../bower_components/font-awesome/fonts';
/**
* App-wide Styles
*/
.browsehappy {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
// Component styles are injected through grunt
// injector
@import 'account/login/login.scss';
@import 'admin/admin.scss';
@import 'create/create.scss';
@import 'main/main.scss';
@import 'modal/modal.scss';
// endinjector
知道到底发生了什么事吗?
答案 0 :(得分:0)
我遇到了同样的问题,这就是为我“解决”它的问题......
在Gruntfile中,找到以下内容:
// Inject component scss into app.scss
sass: {
options: {
transform: function(filePath) {
filePath = filePath.replace('/client/app/', '');
filePath = filePath.replace('/client/components/', '');
return '@import \'' + filePath + '\';';
},
starttag: '// injector',
endtag: '// endinjector'
},
files: {
'<%= yeoman.client %>/app/app.scss': [
'<%= yeoman.client %>/{app,components}/**/*.{scss,sass}',
'!<%= yeoman.client %>/app/app.{scss,sass}'
]
}
},
修改以下行:
filePath = filePath.replace('/client/components/', '../components/');
现在它应该注入正确的路径。
警告:我真的不知道自己在做什么。