如何设置我的目录以获取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
模块,所以这种技术对于这两个模块肯定有效。
上一篇: How set up my directory to work with eyeglass on fetching modularscale