webpack搭建本地服务及自动刷新浏览器

本文介绍了如何使用webpack-dev-server搭建本地服务,并配置保存时自动刷新浏览器的功能。通过安装webpack-dev-server,设置package.json,然后在webpack.config.js中进行相关配置,实现了编译后浏览器自动刷新。
搭建本地服务

首先,在项目中安装webpack-dev-server
npm install webpack-dev-server -D
在package.json文件中添加如下:

{
	"scripts":{
		"dev":"webpack-dev-server --hot"
	}
}

(–hot指启动模块热替换,会自动添加webpack.HotModulePeplacementPlugin插件。)

在terminal中执行npm run dev
打印如下日志:

10% building 1/1 modules 0 activei 「wds」: Project is running at http://localhost:8080/
i 「wds」: webpack output is served from /
i 「wds」: Content not from webpack is served from ./index.html
i 「wdm」: Hash: 58f6b116e14b9d029478
Version: webpack 4.42.0
Time: 6044ms
Built at: 2020-03-11 21:43:20

在浏览器中访问http://localhost:8080/就可以看到页面了,我们的服务器也就搭好了。但是,你会发现,当编辑index.html的时候,保存编译之后,浏览器并没有自动刷新。那么,只好接着配置咯=。=

保存编译后自动刷新浏览器

文件目录如下:

|----index.html
|----package.json
|----webpack.config.js
|----src
     |----index.js
     |----index.scss
|----dist

在webpack.config.js文件中配置如下:

const path = require('path');

const config = {
	mode: 'development', // 通过 mode 声明开发环境
	entry: "./src/index.js",
	output: {
		path: path.resolve(__dirname, './dist'),
		// 打包多出口文件
		filename: 'js/bundle.js'
	},
	devServer:{
		publicPath: "/",
    	contentBase: "./index.html",
    	host: "127.0.0.1",
		port: "8090",
    	overlay: true,  // 浏览器页面上显示错误
    	// open: true, // 开启浏览器
		// stats: "errors-only", //表示只打印错误
    	//服务器代理配置项
    	proxy: {
            '/testing/*': {
                target: 'https://www.baidu.com',
                secure: true,
                changeOrigin: true
            }
        }
	}
};

module.exports = config;

terminal中重新执行npm run dev,自动刷新就可以了。
至此,webpack搭建本地服务及自动刷新浏览器就完成了。撒花

题外话,关于devServer相关配置属性的理解:
contentBase:'./index.html'告诉服务器从哪个目录中提供内容。即将index.html作为本地服务器可访问的资源
publicPath:'/'此路径下的打包文件可在浏览器中访问。值总是以斜杠(/)开头和结尾

webpack-dev-server 在编译之后不会写入到任何输出文件。而是将 bundle 文件保留在内存中,然后将它们 serve 到 server 中,就好像它们是挂载在 server 根路径上的真实文件一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值