Sass导入没有抓取node_modules来查找适当的包

时间:2017-01-06 17:53:29

标签: sass gulp-sass bootstrap-sass node-sass

我正在使用bootstrap-sass。节点模块已安装。我希望我能在任何.scss文件中使用以下行导入适当的表单

@import 'bootstrap';

我的理解是,编译器应该抓住它,直到找到package.json,跳转到node_modules并找到相应的包。相反,我得到以下错误。

  

错误:导入未找到或不可读的文件:bootstrap

如果我用完全限定的路径替换我的导入,如下所示,那么一切都很顺利。

@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap';

我正在使用gulp-sass进行编译。猜测我只是关闭了一些小配置位但我无法弄清楚它是什么。

2 个答案:

答案 0 :(得分:3)

将路径作为包含路径传递。

EG。如果您正在使用gulp

,它将看起来像这样
%data_element_name_here%

然后你可以使用:

.pipe($.sass({
  includePaths: ['node_modules/bootstrap-sass/assets/stylesheets']
})

答案 1 :(得分:0)

它不会导入像Javascript / Node.js这样的东西。它将在与导入文件相同的文件夹中查找引导程序文件。所以是的,您需要使用长路径或将引导文件放在同一个文件夹中。