webpack-dev-server搭建步骤及错误报告

构建步骤

  1. 新建文件夹

  2. pnpm add webpack webpack-cli

  3. pnpm add html-webpack-plugin

  4. pnpm add webpack-dev-server

  5. 修改 package.json(If you’re using webpack-cli 4 or webpack 5, change webpack-dev-server to webpack serve.)

    {
    	"scripts": {
    		"build": "webpack",
    		"start:dev": "webpack serve"
    	},
    	"dependencies": {
    		"html-webpack-plugin": "^5.3.1",
    		"webpack": "^5.38.1",
    		"webpack-cli": "^4.7.2",
    		"webpack-dev-server": "^3.11.2"
    	}
    }
    
  6. 新建 webpack.config.js

    const path = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    
    module.exports = {
        entry: './src/index.js',
        mode: "development",
        devServer: {
            open: true
        },
        output: {
            path: path.resolve(__dirname, 'dist'),
            filename: 'bundle.js'
        },
        plugins: [
            new HtmlWebpackPlugin()
        ]
    };
    
  7. pnpm run start:dev

容易出现的错误

错误信息

D:\VScode\dj> pnpm run start:dev  

> @ start:dev D:\VScode\dj
> webpack-dev-server

internal/modules/cjs/loader.js:968
  throw err;
  ^

Error: Cannot find module 'webpack-cli/bin/config-yargs'
Require stack:
- D:\VScode\dj\node_modules\.pnpm\registry.nlark.com+webpack-dev-server@3.11.2_webpack-cli@4.7.2+webpack@5.38.1\node_modules\webpack-dev-server\bin\webpack-dev-server.js  
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (D:\VScode\dj\node_modules\.pnpm\registry.nlark.com+webpack-dev-server@3.11.2_webpack-cli@4.7.2+webpack@5.38.1\node_modules\webpack-dev-server\bi    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'D:\\VScode\\dj\\node_modules\\.pnpm\\registry.nlark.com+webpack-dev-server@3.11.2_webpack-cli@4.7.2+webpack@5.38.1\\node_modules\\webpack-dev-server\\bin\\webpack-dev-server.js'
  ]
}
 ERROR  Command failed with exit code 1.

常见的解决方案

我的解决方案

参考资料:Cannot find module ‘webpack/bin/config-yargs’

If you’re using webpack-cli 4 or webpack 5, change webpack-dev-server to webpack serve.

综述:如果使用的是 webpack-cli 4 或者 webpack 5,则不要使用运行脚本 webpack-dev-server,将运行脚本改为为 webpack serve 即可。

最终文件内容

package.json

{
	"scripts": {
		"build": "webpack",
		"start:dev": "webpack-dev-server"
	},
	"dependencies": {
		"html-webpack-plugin": "^5.3.1",
		"webpack": "^5.38.1",
		"webpack-cli": "^4.7.2",
		"webpack-dev-server": "^3.11.2"
	}
}

webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    entry: './src/index.js',
    mode: "development",
    devServer: {
        open: true
    },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js'
    },
    plugins: [
        new HtmlWebpackPlugin()
    ]
};
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值