webpack报错ERROR in ./src/js/ 3:0-31 Module not found: Error: Can‘t resolve ‘..解决亲测有效

时间:2025-05-14 21:59:15
// css处理引入 const MiniCssExtractPlugin = require('mini-css-extract-plugin') // 输出文件的绝对路径 const { resolve } = require('path') // css兼容性处理 const PostcssPresetEnv = require('postcss-preset-env') // css压缩插件 const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin') // html文件处理 const HtmlWebpackPlugin = require('html-webpack-plugin') // 提取css兼容性处理的代码为公共代码 const commonCssLoader = [ MiniCssExtractPlugin.loader, 'css-loader', //修改loader的默认设置 { loader: 'postcss-loader', options: { postcssOptions: { plugins: [ PostcssPresetEnv() ] } } } ] module.exports = { // 入口文件 entry: './src/js/', // 文件输出 output: { // 名称 filename: 'js/', // 地址 path: resolve(__dirname, 'build') }, module: { rules: [ // css文件处理 { test: /\.css$/, use: [...commonCssLoader] }, // less文件处理 { test: /\.less$/, use: [...commonCssLoader, 'less-loader'] }, // js兼容性处理 { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: [ [ '@babel/preset-env', { useBuiltIns: 'usage', corejs: { //core-js的版本 version: 3 }, //需要兼容的浏览器 targets: { chrome: '60', firefox: '60', ie: '9', safari: '10', edge: '17' } } ] ] } } }, //处理图片资源 { test: /\.(png|svg|jpg|jpeg|gif)$/i, loader: 'url-loader', options: { // 图片会大于8kb,会被base64处理 减少请求数量(减轻服务器压力) 图片体积会更大(文件请求数量慢) limit: 8 * 1024, name: '[hash:10].[ext]', outputPath: 'img', esModule: false }, type: 'javascript/auto' }, // html中img图片的处理 { test: /\.html$/, loader: 'html-loader' }, // 打包其他资源(排除js/css/html) { exclude: /\.(js|json|html|css|less|scss|png|gif|jpg|jpeg)/, loader: 'file-loader', options: { outputPath: 'media', //指定这些文件打包后的目录 publicPath: './font', name: '[name][hash:8].[ext]' }, type: 'javascript/auto' } ] }, plugins: [ // html文件 new HtmlWebpackPlugin({ template: './src/pages/', // html压缩 minify: { collapseWhitespace: true, removeComments: true } }), // css文件使用 new MiniCssExtractPlugin({ filename: 'css/' }), // 压缩css new OptimizeCssAssetsPlugin() ], mode: 'production' }