一、使用 webpack命令 错误起因

在上一篇的错误中​​webpack打包错误 ERROR in multi ./runoob1.js bundle.js​​;
将 自己编写的 main.js(里面有高级语法ES6等,浏览器识别不出来。)通过 webpack命令 编译成 bundle.js 浏览器能识别的 JS语言。然后引入到浏览器中,浏览器即可识别。但是这样 一改动 main.js,就要执行编译命令
(npx webpack .\src\main.js -o .\dist\bundle.js --mode development) 更新 bundle.js 。
这样实现麻烦,可以通过配置文件 webpack.config.js,进行自动编译生成。
但是我这里出现了下面的 bug 。 这里并进行改正。

The 'mode' option has not been set, webpack will fallback to 'production' for 
this value. Set 'mode' option to 'development' or 'production' to enable defaults
for each environment.
You can also set it to 'none' to disable any default behavior. Learn more:
https://webpack.js.org/concepts/mode/

二、解释

升级webpack4.0后,写完配置文件 webpack.config.js使用命令webpack打包便会出现如上错误:
但是 我的配置文件 是根据 webpack 3.0 编写的。
修改配置文件:

1、webpack.config.js
const path = require('path');
module.exports = {
//entry: path.join(__dirname, './src/main.js'), 3.0版本
entry: './src/main.js',
output: {
//path: path.join(__dirname, './dist'), 3.0版本
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
mode: 'development' // 这也是 4.0 版本刚出来的 一行,
}
2、package.json 配置文件
{
"name": "07-webpack-study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack --mode development", //新加入的
"build": "webpack --mode production" //新加入的
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"jquery": "^3.4.0"
}
}
3、编译成功

使用命令 webpack 即可进行编译成功。

四、下载指定webpack指定版本:

npm i -D webpack@3 // 3: webpack版本3最新