我已经安装了susy和sass,并在webpack配置中设置了css / sass加载器:
{ test: /\.scss$/, loader: ExtractTextPlugin.extract('css!sass') }
这是我的主要scss文件:
@import "~susy/sass/susy";
@import "breakpoint";
$susy: (
columns: 12,
gutters: 1/4,
math: fluid,
output: float,
gutter-position: inside
);
.layout {
@include container();
@include layout(12 1/4);
}
这是webpack输出中的错误
ERROR in ./src/styles/base.scss
Module build failed: ModuleBuildError: Module build failed:
@import "breakpoint";
^
File to import not found or unreadable: breakpoint
gems which are installed
viktors-mbp:~ viktor$ gem list breakpoint sass compass
*** LOCAL GEMS ***
breakpoint (2.7.0)
*** LOCAL GEMS ***
sass (3.4.22)
sassy-maps (0.4.0)
*** LOCAL GEMS ***
compass (1.1.0.alpha.3, 1.0.3)
compass-core (1.1.0.alpha.3, 1.0.3)
compass-import-once (1.0.5)
有谁知道如何正确@import
断点?
答案 0 :(得分:3)
假设你安装了breakpoint-sass包:
npm install breakpoint-sass --save-dev
然后你必须导入它,但是“让SASS加载器知道”这个“断点”元素在SASS文件夹之外,与其他节点模块一起:
@import '~breakpoint-sass/stylesheets/breakpoint';
答案 1 :(得分:1)
查看sass-loader
导入documentation:
sass-loader使用node-sass的自定义导入器功能将所有查询传递给webpack解析引擎。因此,您可以从node_modules导入Sass模块。只需在它们前面添加一个〜来告诉webpack这不是一个相对导入。
和
编写@import“file”与@import“./ file”相同。
几乎描述了你所看到的问题。
答案是安装npm package for breakpoint代替gem并从node_modules导入它,就像使用susy
一样。或者您可以尝试@import
ruby gem的完整文件路径。