首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gulp + foundation时出错(sass版本)

使用gulp + foundation时出错(sass版本)
EN

Stack Overflow用户
提问于 2017-02-28 20:00:21
回答 1查看 103关注 0票数 0

我想使用gulp + Foundation 6+ browserify。在cli中运行gulp时,我在终端中出现以下错误

代码语言:javascript
复制
write ./scss.css/foundation.css
path.js:7
throw new TypeError('Path must be a string. Received ' + inspect(path));
^

TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.join (path.js:1211:7)
    at exports.replaceLocation (/Applications/MAMP/htdocs/Jober/node_modules/gulp-ruby-sass/lib/utils.js:32:14)
    at /Applications/MAMP/htdocs/Jober/node_modules/gulp-ruby-sass/index.js:179:13
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:416:3)

我的gulpfile.js是:

代码语言:javascript
复制
var gulp        = require ('gulp'),
    logger      = require ('gulp-util'),
    concat      = require ('gulp-concat'),
    minifyCSS   = require ('gulp-minify-css'),
    compileSass = require ('gulp-ruby-sass');

var scss_sources,
    input_address,
    output_address;

// Input and Output Address
    input_address  = 'asstes/src/';
    output_address = 'asstes/dist/';

// Style Sources
    scss_sources = [
        'node_modules/foundation-sites/scss',
        input_address + 'style/style.scss'];

    gulp.task('styles', function(){
        return compileSass(scss_sources, { style: 'expanded' })
               .pipe(autoprefixer({
                   browsers: ['last 2 versions', 'ie >= 9', 'and_chr >= 2.3'],
                   cascade: false
               }))
               .pipe(minifyCSS())
               .on('error', logger.log)
               .pipe(gulp.dest(output_address + 'style'));
    });

gulp.task('watch', function(){
    gulp.watch(input_address + 'style/pages/*.scss', ['styles']),
});

gulp.task('default', ['styles' , 'watch']);

我的style.scss是:

代码语言:javascript
复制
//Modules
@import 'foundation';

//Pages
@import 'pages/index';

我的文件夹结构是:

代码语言:javascript
复制
PROJECT FOLDER
    |
    |_assets
    |    |_dist
    |    |   |_img
    |    |   |_js
    |    |   |_style
    |    |
    |    |_src
    |        |_img
    |        |_js
    |        |_style
    |
    |_node_modules
    |        |_foundation-site
    |
    |_gulpfile.js

我在使用gulp-ruby sass之前使用过gulp-compass,但是,有一个常见的错误:Individual stylesheets must be in the sass directory,所以把插件改成了gulp-ruby-sass。

我怎么才能修复它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 03:03:10

可能是字符串连接在scss_sources中不能正常工作。

尝试将scss_sources更改为:

代码语言:javascript
复制
scss_sources = [
     'node_modules/foundation-sites/scss',
     'asstes/src/style/style.scss'
];

如果是这样的话,这就是连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42508240

复制
相关文章

相似问题

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