package.json的npm script无法编译CSS,提示需指定输出目录如何解决
报错原因
- 核心触发逻辑是
node-sass将你配置的输入路径识别为了目录而非单个.scss文件,编译目录时要求输出路径必须是目录而非具体文件,你当前配置的输出路径是css/mystyles.css单个文件路径,因此触发该报错。 - 常见触发场景:
- 项目中不存在
sass/mystyles.scss这个文件,node-sass找不到对应单文件,自动把上级sass/目录作为输入源 - 输入路径拼写错误、大小写不匹配,导致
node-sass无法定位到指定的.scss文件 - 指定的输入路径实际指向了一个同名目录而非
.scss文件
- 项目中不存在
解决方案
- 先确认项目根目录下是否存在
sass/mystyles.scss文件,注意路径大小写和实际文件结构保持一致(Linux、Mac系统对路径大小写敏感)。如果文件不存在先手动创建,你可以写入以下Bulma引入代码做测试:
@import "bulma/bulma";
- 确认项目根目录下是否存在
css输出目录,如果不存在先手动创建该目录,避免node-sass无法写入输出文件。 - 如果需要批量编译sass目录下的所有
.scss文件,可以将输出路径改为目录,修改package.json中的css-build脚本如下:
"css-build": "node-sass --omit-source-map-url sass/ css/"
该配置会将sass目录下的所有.scss文件编译后输出到css目录下,文件名和原.scss文件一一对应,不会触发目录编译报错。
4. 修改完成后重新运行npm start即可正常执行编译监听。
内容的提问来源于stack exchange,提问作者mayank
相关产品推荐
相关产品推荐

