首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Gulp-SASS从node_modules导入CSS

使用Gulp-SASS从node_modules导入CSS
EN

Stack Overflow用户
提问于 2017-06-15 02:10:55
回答 2查看 9.1K关注 0票数 11

我想用SASS从我的node_modules导入一个CSS文件。

代码语言:javascript
复制
@import 'normalize.css/normalize';

这是我的gulpfile.js如何处理我的SASS:

代码语言:javascript
复制
const
  gulp = require('gulp'),
  sass = require('gulp-sass');

gulp.task('sass', function () {
  return gulp.src(['source/assets/css/**.scss', '!source/assets/css/**/_*.[scss|sass'])
    .pipe(sass())
    .pipe(gulp.dest('output/assets/css'));
});

SASS编译器不会从node_modules导入css。相反,这将抛出一个错误。

代码语言:javascript
复制
Error: File to import not found or unreadable: normalize.css/normalize.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-15 02:10:55

SASS编译器不知道在哪里查找文件。需要指定位置。

代码语言:javascript
复制
gulp.task('sass', function () {
  return gulp.src(['source/assets/css/**.scss', '!source/assets/css/**/_*.[scss|sass'])
    .pipe(sass({
      includePaths: ['node_modules']
    }))
    .pipe(gulp.dest('output/assets/css'));
});
票数 16
EN

Stack Overflow用户

发布于 2020-12-11 02:06:08

对我来说,2020年的工作是这样的:

代码语言:javascript
复制
function styles() {
    return (
      gulp.src(paths.styles.src)
        .pipe(sourcemaps.init())
        .pipe(sass({
                    includePaths: ['./node_modules/purecss-sass/vendor/assets/stylesheets/',
                                  './node_modules/modularscale-sass/stylesheets/',
                                  './node_modules/typi/scss/'
                                  ]
                  }))
        .on("error", sass.logError)
        .pipe(postcss([autoprefixer(), cssnano()]))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest(paths.styles.dest))
        .pipe(browserSync.stream())
    );
}

现在在scss文件中,我可以

代码语言:javascript
复制
@import 'modularscale';
@import 'typi';
@import 'purecss';

其他选项似乎是:

  1. 将主_somelibrary.scss文件的完整路径直接放在scss文件中(去掉扩展名),因此类似于:

代码语言:javascript
复制
@import '../../node_modules/purecss-sass/vendor/assets/stylesheets/_purecss';

  1. 在scss文件中放置includePaths: ['./node_modules']并添加相对路径:

代码语言:javascript
复制
@import 'purecss-sass/vendor/assets/stylesheets/_purecss';
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44551822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档