0

Yeoman の角度付きフルスタック ジェネレーターで Sass を使用して 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

一体何が起こっているのか分かりますか?

4

1 に答える 1

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/');

これで、正しいパスが挿入されるはずです。

警告: 自分が何をしているのかよくわかりません。

于 2015-11-01T23:37:20.670 に答える