Javascript 如何设置我的目录以使用eyeglass获取modularscale
我正试图通过使用将Sassy模块化规模项目包括到我的构建中。通过在我的项目目录中执行命令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是否抱怨任何错误,
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";