
package.json文件中
{"name": "webpack3","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","dev": "webpack-dev-server "},"author": "","license": "ISC","devDependencies": {"babel-core": "^6.26.3","babel-loader": "^7.1.5","babel-plugin-transform-runtime": "^6.23.0","babel-preset-env": "^1.7.0","babel-preset-stage-0": "^6.24.1","file-loader": "^6.1.0","node-sass": "^4.14.1","sass-loader": "^7.3.1","url-loader": "^4.1.0","webpack": "^4.27.1","webpack-cli": "^3.1.2","webpack-dev-server": "^3.1.9"},"dependencies": {"bootstrap": "^3.3.5","css-loader": "^4.3.0","html-webpack-plugin": "^4.4.1","jquery": "^3.5.1","less-loader": "^7.0.1","style-loader": "^1.2.1"}}
webpack.config.js文件中
// 导入处理路径的模块var path = require('path');// 启用热更新的 第2步const webpack = require('webpack')//帮我们把html配置到内存中,把打包后的bundle.js注入到html中var htmlWebpackPlugin = require('html-webpack-plugin');// 导出一个配置对象,将来webpack在启动的时候,会默认来查找webpack.config.js,并读取这个文件中导出的配置对象,来进行打包处理module.exports = {entry: path.resolve(__dirname, 'src/main.js'), // 项目入口文件output: { // 配置输出选项path: path.resolve(__dirname, 'dist'), // 配置输出的路径filename: 'bundle.js' // 配置输出的文件名},mode:'development',devServer: {// 这是配置 dev-server 命令参数的第二种形式,相对来说,这种方式麻烦一些// --open --port 3000 --contentBase src --hotopen: true, // 自动打开浏览器port: 3000, // 设置启动时候的运行端口contentBase: 'src', // 指定托管的根目录hot: true // 启用热更新 的 第1步,只更改修改部分},plugins: [ // 配置插件的节点new webpack.HotModuleReplacementPlugin(), // new 一个热更新的 模块对象, 这是 启用热更新的第 3 步// 添加plugins节点配置插件new htmlWebpackPlugin({template:path.resolve(__dirname, 'src/index.html'),//模板路径filename:'index.html'//自动生成的HTML文件的名称})],module: {rules: [// 匹配以.css结尾的文件{ test: /\.css$/, use: ['style-loader', 'css-loader'] },//处理css文件的规则{ test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] },{ test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] },{ test: /\.(ttf|eot|svg|woff|woff2)$/,use: [{loader:'url-loader'}]}, // 处理 字体文件的 loader{ test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ }]}}
.babelrc文件中
{"presets": ["env", "stage-0"],"plugins": ["transform-runtime"]}
将三个文件配置完成后,输出命令
npm i
