学习Vue bug 二、'mode' option has not been set, webpack will fallback to 'production' for this value
原创
©著作权归作者所有:来自51CTO博客作者wx63aeae08e8c47的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、使用 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最新