似乎是 node-sass
的最新版本(3.4.1) 破坏了我们的构建。我一直收到此错误消息:
It's not clear which file to import for '@import "../file"'.
Candidates:
../file.scss
../file.css
Please delete or rename all but one of these files.
现在,对于项目中所有名称中未明确指定“file.scss”的文件,都会发生这种情况。我无法确定此错误的修复程序 - 我也找不到任何文档来解决
node-sass
中发生的更改导致它。我们有太多文件,无法重命名每个导入。有人可以指出我正确的方向吗?
编辑:
路径中带有下划线(例如
_file
)的文件也会发生这种情况。似乎没有认识到这些文件是部分文件。
最佳答案
我有同样的问题,但只有 node-sass
版本 3.4.2。版本 3.4.1 对我来说工作正常。
这似乎是 node-sass
中的一个已知问题- https://github.com/sass/node-sass/issues/1222然而,目前尚不清楚哪些版本会受到影响。
我通过卸载 grunt-sass
修复了它,然后安装 node-sass
的确切版本工作正常(v3.4.1),然后最后重新安装 grunt-sass
.
$ npm uninstall grunt-sass
$ npm install node-sass@3.4.1 --save-dev
$ npm install grunt-sass
这意味着
grunt-sass
使用你安装的版本,而不是安装它自己的版本,它定义为 "node-sass": "^3.4.0"
奇怪的是,即使我在安装命令中指定了一个确切的版本,我仍然在我的 package.json 中得到了这个:
"node-sass": "^3.4.1"
所以我手动将其更改为确切版本,以便团队中的其他开发人员可以获得正确的版本:
"node-sass": "3.4.1"
当然,如果您发现唯一适合您的版本是 v3.3.0,请在上述说明中使用该版本。
关于gruntjs - 如何解决 node-sass 回归(?) "It' s 不清楚要为 @import 导入哪个文件”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33612388/