那些年我躺过的配置坑
在webpack的配置过程中,由于对新版本的憧憬,所以一开始就摒弃了老师所用的旧版本,毅然决然安装上了4.0版本。。。从我安装上他的那一刻,我注定要一路踩雷的走下去。
第一个兼容问题就是在4.0版本以上,webpack和webpack-cli是分开安装,但又是相互依赖的。所以,以往3.0版本的直装版在这里并不通用。所以,请在你的项目里为他们留出两个坑。
以上是当前时间,我所更新的最新版插件,对webpack@4.0版本支持良好。但是由于在实际的使用中,出现的难以查找的小bug让我头疼。
在今天果断将其退回3.8.1版本,之前堵塞的类型call问题烟消云散。
把我的package.json文件贴在这里,后续使用时自取。
{
"name": "wp-study",
"version": "2.0.0",
"description": "rollback 3",
"main": "main.js",
"scripts": {
"test": "npm test",
"dev": "webpack-dev-server"
},
"author": "platonic",
"license": "ISC",
"devDependencies": {
"ajv": "^6.9.1",
"css-loader": "^0.28.7",
"file-loader": "^1.1.5",
"html-webpack-plugin": "^2.30.1",
"less": "^2.7.3",
"less-loader": "^4.0.5",
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
"style-loader": "^0.19.0",
"url-loader": "^0.6.2",
"webpack": "^3.8.1",
"webpack-dev-server": "^2.9.3"
}
}
以下为webpack.config.js配置文件
const path = require("path")
const webpack = require("webpack")
const htmlWebpackPlugin = require("html-webpack-plugin")
module.exports = {
entry: path.join(__dirname, "./src/main.js"),
output: {
path: path.join(__dirname, './dist'),
filename: "bundle.js"
},
devServer: {
open: true,
port: 3000,
contentBase: "src",
hot: true
},
module: {
rules: [
{ test: /\.css/, use: ["style-loader", "css-loader"] },
{ test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] }, // 处理 less 文件的 loader
{ test: /\.scss/, use: ["style-loader", "css-loader", "sass-loader"] },
{ test: /\.(jpg|png|gif|bmp|jpeg)/, use: "url-loader?limit=7631" }
]
},
plugins: [
new webpack.HotModuleReplacementPlugin,
new htmlWebpackPlugin({
template: path.join(__dirname, './src/index.html'),
filename: "index.html"
})
]
}