webpack执行npm run build报Module not found无法解析文件错误怎么解决
你遇到的报错一共有三类问题:
- Webpack未配置
@路径别名,无法识别你代码中@/开头的导入路径 - 缺少scss相关的loader依赖与解析规则,无法处理
.scss格式文件 - 需确认对应文件实际存在,排除路径拼写、大小写错误
步骤1:安装scss相关依赖
运行以下命令安装解析scss需要的loader:
npm install sass sass-loader --save-dev
步骤2:修改webpack配置
更新build/webpack.config.dev.js文件,添加路径别名配置与scss解析规则,修改后完整配置如下:
'use strict' const path = require('path') const webpack = require('webpack') const { VueLoaderPlugin } = require('vue-loader'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { mode: 'development', entry: [ './src/main.js' ], // 新增路径解析配置 resolve: { alias: { // 配置@指向src根目录 '@': path.resolve(__dirname, '../src') }, // 配置可省略的文件后缀 extensions: ['.js', '.vue', '.json', '.scss'] }, devServer: { hot: true, watchOptions: { poll: true } }, module: { rules: [ { test: /\.vue$/, use: 'vue-loader' }, { test: /\.css$/, use: [ 'vue-style-loader', 'css-loader' ] }, // 新增scss文件解析规则 { test: /\.s[ac]ss$/i, use: [ 'vue-style-loader', 'css-loader', 'sass-loader' ] }, { test: /\.js$/, use: 'babel-loader' } ] }, plugins: [ new webpack.HotModuleReplacementPlugin(), new VueLoaderPlugin(), new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true }) ] }
步骤3:校验文件路径
确认以下文件在项目中真实存在,路径、大小写完全匹配:
src/components/header/index.jssrc/components/footer/index.jssrc/assets/scss/main.scss
全部修改完成后重新运行npm run build即可。
内容的提问来源于stack exchange,提问作者CCCC
相关产品推荐
相关产品推荐

