Javascript 如何设置我的目录以使用eyeglass获取modularscale

Javascript 如何设置我的目录以使用eyeglass获取modularscale,javascript,css,npm,Javascript,Css,Npm,我正试图通过使用将Sassy模块化规模项目包括到我的构建中。通过在我的项目目录中执行命令npm install modularscale sass--save dev,我可以通过终端获得它的模块化规模 然后我查看了一下我的包.json,我看到“modularscale sass”:“^2.1.1”,在我的目录中,我可以访问节点模块目录下的文件。一切都好!然后,指示我在我的main.scss文件中导入“模块化比例” 现在,我运行gulpwatch并编辑一些随机css,看看gulp是否抱怨任何错误,

我正试图通过使用将Sassy模块化规模项目包括到我的构建中。通过在我的项目目录中执行命令
npm install modularscale sass--save dev
,我可以通过终端获得它的模块化规模

然后我查看了一下我的
包.json
,我看到
“modularscale sass”:“^2.1.1”
,在我的目录中,我可以访问
节点模块
目录下的文件。一切都好!然后,指示我在我的
main.scss
文件中导入“模块化比例”

现在,我运行
gulpwatch
并编辑一些随机css,看看gulp是否抱怨任何错误,然后我得到一个抛出错误

错误:src/scss/main.scss
6:9
要导入的文件找不到或不可读:
模块化比例

我知道这种情况正在发生,bc gulp不知道在哪里可以找到
模块化刻度
,因为眼镜可能没有安装正确的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
函数将返回一条路径,供eyeglass查找我的目录名和样式表。对吗

var path = require('path');
// add my directory and stylesheet? 
module.exports = function(eyeglass, sass) {
  return {
    sassDir: path.join(__dirname, 'stylesheets')
  }
}
我找到了一些关于眼镜的文档,但这里似乎很模糊:

在Sass文件中,您可以使用标准Sass导入语法引用eyeglass模块:
@import“my_eyeglass_模块/文件”
my_eyeglass_模块
将解析到节点模块中的正确目录,然后使用Sass的标准导入规则解析文件

有人能帮我解释一下我是如何把它运到酒店的吗

这是我在上的目录链接


谢谢

您是如何配置gulp以了解如何使用眼镜的?你看过报纸了吗

虽然我很想使用眼镜,但我觉得它并没有很清楚的记录,因为对于刚开始使用gulp和npm的人来说,很难设置。我希望这些文档对像我这样的初学者更友好一些

我尽了最大的努力去遵循规则,但是当我要求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"));
});
正如我在上面的评论中所说的,我对您所说的禁用导入一次和gulp是什么意思感到非常困惑,直到我们弄清楚如何使它们一起工作。我的问题是如何让他们一起工作?我不知道

为了指出我的主要问题,它试图让gulp与眼镜同步,这样我就可以检索模块化刻度。这个过程让我有点困惑,我真的很想看看应该怎么做

能否请您设置一个正常工作的Github回购协议,并提供使其正常工作所需的所有信息

为了解决我最初的问题,也就是在我的项目中加入modularscale,我决定用传统的方式来做。不会出错的


所以我继续下载了zip文件,然后我
@import“供应商/模块化规模”
进入我的
main.scss
文件,当我要求gulp监视更改时,一切都正常运行

使用eyeglass v0.8.3,这对我很有效

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"));
});
以下是我所拥有的:

gulpfile.js main.scss
唯一的问题是控制台警告说,
modular scale
模块没有在
package.json
中声明
needs
属性。我还能够导入
规范化scss
模块,因此此技术肯定适用于这两个模块。

否我没有将gulp配置为使用眼镜。我将按照您的方便的“吞咽”集成指南进行操作。你能解释一下你所说的注释是什么意思吗?
//用gulp禁用导入一次,直到我们知道如何使它们一起工作。
eyeglass.enableMimportOnce=false
我对你所说的如何使它们一起工作的意思有点困惑。我试着设置gulp文件,正如你在但是我也遇到了一些问题。不知道如何解决这个问题。我想换一条路。虽然我很想用眼镜,但我觉得这很好
@import "modular-scale";