如何设置我的目录以获取modularscale与眼镜工作

我试图通过使用眼镜将Sassy Modular Scale项目包括到我的作品中。 我可以通过执行命令npm install modularscale-sass --save-dev在我的项目目录中通过终端获得它的模块化缩放。

然后我看了看package.json ,看到"modularscale-sass": "^2.1.1"添加了"modularscale-sass": "^2.1.1" ,并且在我的目录中我可以访问node-modules目录下的文件。 都好! 然后,模块化比例文档指导我在main.scss文件中使用main.scss @import 'modular-scale'

现在我运行gulp watch并编辑一些随机的css,看看gulp是否抱怨任何错误,并且我得到一个抛出错误的说法

Error: src/scss/main.scss 6:9导入未找到或无法读取的文件: modular-scale

我知道这种情况正在发生bc gulp不知道在哪里可以找到modular-scale因为眼镜可能没有设置正确的atm。

protfolio/ 
|
|-- dest/
|    |-- /js
|    |-- /css
|
|-- node_modules
|   |-- modularscale-sass
|   | .. 
|
|-- src/
|    |-- /js
|    |-- /scss
|        |-- /modules
|            |-- .. 
|        |-- /partails
|            |-- ..  
|        |-- /vendors
|            |-- ..
|        |-- main.scss 
|
|-- gulpfile.js 
| .. 

我必须编辑eyeglass-exports.js文件吗?

通过查看js代码,我认为最合理的做法是添加我的目录名称和样式表。 我的假设是, module.exports函数将返回一个眼镜路径来查找我的目录名称和样式表。 正确?

var path = require('path');
// add my directory and stylesheet? 
module.exports = function(eyeglass, sass) {
  return {
    sassDir: path.join(__dirname, 'stylesheets')
  }
}

我在眼镜上找到了一些文档,但在这里看起来很模糊:

在Sass文件中,您可以使用标准的Sass导入语法引用眼镜模块: @import "my_eyeglass_module/file";my_eyeglass_module将解析为节点模块中正确的目录,然后使用Sass的标准导入规则解析该文件。

有人可以请帮忙解释我如何得到这个工作财产。

这里是我在github上目录的链接

谢谢


就像我想使用眼镜一样,我觉得它不是很清楚地记录下来,因为很难为一个刚使用gulp和npm的人设置。 我希望看到这些文档对像我这样的初学者更友好一些。

我尽了最大的努力去关注Gulp集成指南,但是我仍然遇到了错误,我不知道如何处理这些错误,当我要求gulp观察变化时。

var gulp = require("gulp");
var sass = require("gulp-sass");
var Eyeglass = require("eyeglass").Eyeglass;

var eyeglass = new Eyeglass({
  // ... node-sass options
    importer: function(uri, prev, done) {
        done(sass.compiler.types.NULL);
    }
});


// Disable import once with gulp until we
// figure out how to make them work together.

// How do I get them to work together? This is confusing.

eyeglass.enableImportOnce = false

gulp.task("sass", function () {
  gulp.src("./sass/**/*.scss")
    .pipe(sass(eyeglass.sassOptions()).on("error", sass.logError))
    .pipe(gulp.dest("./css"));
});

正如我在我上面的评论中所说的,我很困惑,因为你说的禁用导入一次,直到我们弄清楚如何使它们一起工作。 我的问题是我如何让他们一起工作? 我没有任何线索..

为了指出我的主要问题,它试图让吞咽与眼镜同步,所以我可以检索模块化的规模。 这个过程让我有点困惑,我真的很想看看它应该如何完成。

你能否设置一个正常工作的Github回购库,并具备正确执行此项工作所需的一切。

为了解决我的原始问题,即将模块化尺寸纳入我的项目中,我只是决定以旧派的方式进行。 不会出错。

所以我继续下载了modularscale.sass的zip文件,然后我@import "vendors/modular-scale"; 进入我的main.scss文件,当我要求大家观察变化时,所有工作main.scss


你如何配置吞咽知道使用眼镜? 您是否阅读了gulp集成指南?


使用眼镜v0.8.3 ,这为我工作。

以下是我的:

gulpfile.js

// gulpfile.js
// node_modules requires
...
eyeglass       = require('eyeglass'),
...

// after all requires, setup eyeglass options
var options = eyeglass({
    sassOptions: {
        errLogToConsole: true,
        outputStyle: 'expanded'
    },
    eyeglass: {
        enableImportOnce: false
    },
    importer: function(uri, prev, done) {
        done(sass.compiler.types.NULL);
    }
});

// inside my gulp sass task
...
.pipe(sass(options).on('error', sass.logError))

main.scss

@import "modular-scale";

唯一的问题是控制台警告modular-scale模块没有在package.json声明needs属性。 我也能够导入normalize-scss模块,所以这种技术对于这两个模块肯定有效。

链接地址: http://www.djcxy.com/p/86773.html

上一篇: How set up my directory to work with eyeglass on fetching modularscale

下一篇: Java to Google Spreadsheet