【问题标题】:Error "Invalid UTF-8" when compiling sass with @import使用 @import 编译 sass 时出现“无效的 UTF-8”错误
【发布时间】:2015-12-06 10:35:24
【问题描述】:

我的项目具有以下结构:

project
  assets
    scripts
    styles
      app.scss
  bower_components
  node_modules
  public
    css
      app.css
    js
  bower.json
  gulpfile.js
  package.json

我使用 gulp-sass 将 app.scss 编译为 app.css,我想在 app.scss 中包含基础

gulp.task('styles', function() {
    return gulp.src(path.src.styles)
    .pipe(sass({
        includePaths: ['./bower_components/foundation/scss']
    }))
    .pipe(concat('app.css'))
    .pipe(gulp.dest(path.public.styles));
})

然后我在 app.scss 文件中变白:

@import 'foundation/_settings';
@import 'foundation';

当我运行 gulp 时,我得到:

Error: assets\styles\app.scss
  undefined:undefined  Invalid UTF-8

怎么了?

【问题讨论】:

  • 检查是否有任何随机字符,例如文件路径、scss 文件内部。

标签: css sass gulp zurb-foundation


【解决方案1】:

我认为您的文件夹路径中有一个 UNIX 不受支持的字母?尝试删除它。

我通过从文件夹名称中删除字母“ä”来消除此错误。

【讨论】:

  • 我应该考虑从硬盘驱动器的整个路径吗?我问是因为我有俄语用户名
  • 只检查名称是否有特殊字符,如我上面提到的"ä"
  • 据我所知,我的系统中没有这样的字符:p。运行 node-sass: 3.12.5 我仍然得到这个:O
【解决方案2】:

在你的 IDE 中将文件编码设置为 UTF-8,默认情况下它可能是别的东西,sass 将它解释为 UTF-8

【讨论】:

    【解决方案3】:

    我只需要重命名 windows 用户名,因为它包含 UNIX 不支持的字符。 但是因为重命名用户的文件夹太难了,所以我只是移动了我的项目。

    【讨论】:

      【解决方案4】:

      尝试替换 gulp-sass 的 package.json,而不是 "node-sass": "^3.4.2""node-sass": "^3.5.0-beta.1"

      这对我有用!

      【讨论】:

        猜你喜欢
        • 2021-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多