Windows环境下Webpack+Sass-loader提示‘找不到导入样式表’问题求助
Windows下Webpack+Sass导入样式文件报错:Can't find stylesheet to import
在React+Webpack原有项目中执行npm start时,Windows系统会出现「Can't find stylesheet to import」错误,该问题仅在Windows环境复现,MacOS下无异常。为定位问题搭建的测试环境中,执行npm run dev触发如下错误:
ERROR in ./src/main.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/main.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Can't find stylesheet to import.
╷
1 │ @use "D:\Work\Playground\webpack-sass\stylesheets_utils.scss" as *;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
项目配置文件
package.json
{ "name": "webpack-sass", "version": "1.0.0", "main": "index.js", "scripts": { "dev": "webpack-dev-server --open", "build": "webpack" }, "author": "", "license": "ISC", "description": "", "dependencies": { "@babel/preset-env": "^7.26.0", "babel-loader": "^9.2.1", "css-loader": "^7.1.2", "html-webpack-plugin": "^5.6.3", "sass": "^1.80.7", "sass-loader": "^16.0.3", "style-loader": "^4.0.0", "webpack": "^5.96.1", "webpack-cli": "^6.0.1", "webpack-dev-server": "^5.2.0" } }
webpack.config.js
const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const sassAdditionalData = `@use "${path.join(__dirname, "./stylesheets/_utils.scss")}" as *;`; const stylesPath = path.resolve(__dirname, "stylesheets"); module.exports = { mode: "development", entry: "./src/index.js", devServer: { static: "./dist", }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader", }, { test: /\.scss$/, use: [ "style-loader", "css-loader", { loader: "sass-loader", options: { sassOptions: { includePaths: [stylesPath], }, additionalData: sassAdditionalData, }, }, ], }, ], }, plugins: [ new HtmlWebpackPlugin({ title: "Development", }), ], output: { filename: "bundle.js", path: path.resolve(__dirname, "dist"), }, };
.babelrc
{ "presets": ["@babel/preset-env"] }
src/index.js
import "./main.scss"; const foo = (name) => { console.log(name); }; foo("Nimish");
src/main.scss
$body-color: red; body { background-color: $body-color; }
stylesheets/_utils.scss
$body-color-new: green;
已尝试以下方法但均未解决问题:
- 升级Webpack、sass-loader版本
- 配置
includePaths指向样式目录 - 仅使用文件名引用
_utils.scss
另外,错误提示中的文件路径可正常打开对应文件,但sass-loader仍提示找不到该文件,寻求技术解决方案。
内容的提问来源于stack exchange,提问作者Nimish Prabhu
相关产品推荐
相关产品推荐

