写在前面:

(1)为了防止版本兼容问题,此处的webpack版本与之前的一致为:webpack@3.6.0。同时这里我们安装的webpack-dev-server版本是2.9.7版本。

(2)之前已经安装了node.js

在此之前我们一直采用live-server充当本地服务器,其实这与webpack是不怎么搭配的,现在我们可以利用webpack自带的webpack-dev-server来构建一个本地服务器(基于node.js架构)--让浏览器检测代码修改,并自动刷新修改后的结果。由于webpack-dev-server是一个单独的组件,因此在webpack中进行配置之前需要单独安装它作为项目依赖。

1.安装webpack-dev-server

本地安装指定版本的webpack-dev-server:

npm install --save-dev webpack-dev-server@2.9.7

若npm安装失败,选择cnpm安装成功率会高些。

2.配置devserver选项

2.1 在webpack.config.js中配置devserver选项

/webpack.config.js:

devServer:{
//设置基本目录结构
contentBase:path.resolve(__dirname,'dist'), //本地服务器所加载的页面所在的目录
//服务器的IP地址,可以使用IP也可以使用localhost
host:'localhost',
//服务端压缩是否开启
compress:true,
//配置服务端口号
port:1818
}

注释:

  • contentBase:配置服务器基本运行路径,用于找到程序打包地址。

  • host:服务运行地址,建议使用本机IP。

  • compress:服务器端压缩选型,一般设置为开启。

  • port:服务运行端口,建议不使用80,很容易被占用,这里使用了1818

2.2 命令配置

由于webpack-dev-server是本地安装的,相关文件被安装到了本地目录的的开发环境中。然后需要在package.json中手动配置命令才能运行node_modules下面的相关指令;直接运行webpack-dev-server命令会无法找到内部或外部命令。

/package.json:

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

结构图为:

配置好并保存后,在webstorm终端里输入 npm run server 打开服务器。然后在浏览器地址栏输入 http://localhost:1818 就可以看到结果了。

3.热更新

在npm run server 启动后,它是有一种监控机制的(也叫watch)。它可以监控到我们修改源码,并立即在浏览器里给我们实时更新,但是它不是真正的打包,它类似于在内存中进行了打包。所以本地文件并没有变化。

注意:这里只是我们的webpack3.6版本支持,在3.5版本时要支持热更新还需要一些其他的操作。如果都设置好了,但是不进行热更新,可能是系统的问题,在Linux和Ma上支持良好,在Windows上有时会出现问题。

(4/24) webpack3.x快速搭建本地服务和实现热更新的更多相关文章

  1. spring boot / cloud (十八) 使用docker快速搭建本地环境

    spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...

  2. Azure 中快速搭建 FTPS 服务

    FTP,FTPS 与 SFTP 的区别 FTP (File Transfer Protocol)是一种常用的文件传输协议,在日常工作中被广泛应用.不过,FTP 协议使用明文传输.如果文件传输发生在公网 ...

  3. 利用Docker Compose快速搭建本地测试环境

    前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...

  4. 快速搭建Kerberos服务端及入门使用

    快速搭建Kerberos服务端及入门使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Kerberos是一种网络身份验证协议.它旨在通过使用秘密密钥加密为客户端/服务器应用程序提 ...

  5. webpack-dev-server 搭建本地服务以及浏览器实时刷新

    一.概述开发项目中为了保证上线,开发项目是都需要使用localhost进行开发,以前的做法就是本地搭建Apache或者Tomcat服务器.有的前端开发人员 对服务器的搭建和配置并不熟悉,这个时候需要后 ...

  6. Go语言micro之快速搭建微服务

    背景 go-micro给我们提供了一个非常便捷的方式来快速搭建微服务,而且并不需要提前系统了解micro,下面用一个简单的示例来快速实现一个服务. 创建Proto文件 因为我们要做微服务,那么就一定有 ...

  7. 使用docker快速搭建本地环境

    在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越来越多. 然而要顺利的安装好这些中间件也是一个比较费时费力的工作. 俗话说" ...

  8. 使用 python -m SimpleHTTPServer 快速搭建http服务

    摘要: 在 Linux 服务器上或安装了 Python 的机器上,可以使用 nohup python -m SimpleHTTPServer [port] & 快速搭建一个http服务. 在 ...

  9. 快速搭建http服务:共享文件--Java的我,不知Python你的好

    在 Linux 服务器上或安装了 Python 的机器上, 我们可以在指定的文件目录下,使用  python -m SimpleHTTPServer 快速搭建一个http服务,提供一个文件浏览的web ...

随机推荐

  1. HDU 2111:Saving HDU(贪心)

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. POJ 3253 Fence Repair STL 优先队列

    这题做完后觉得很水,主要的想法就是逆过程思考,原题是截断,可以想成是拼装,一共有n根木棍,最后要拼成一根完整的,每两根小的拼成一根大的,拼成后的木棍长度就是费用,要求费用最少.显然的是一共会拼接n-1 ...

  3. 最短路--spfa+队列优化模板

    spfa普通版就不写了,优化还是要的昂,spfa是可以判负环,接受负权边和重边的,判断负环只需要另开一个数组记录每个结点的入队次数,当有任意一个结点入队大于点数就表明有负环存在 #include< ...

  4. AGC014E Blue and Red Tree

    题意 There is a tree with \(N\) vertices numbered \(1\) through \(N\). The \(i\)-th of the \(N−1\) edg ...

  5. 当php版本为5.6时的提示信息解决方法

    ecshop修饰符preg_replace/e不安全的几处改动 Strict standards: Only variables should be passed by reference in D: ...

  6. 如何构建 MVC&AJax&JSon示例

    背景: 博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax. 直接查看JSon部分 步骤: 1,添加控制器(HomeController)和动作方法(In ...

  7. maven学习--进阶篇

    2016-01-06 02:34:24 继承与聚合 (八)maven移植 讲到maven移植,大家可能第一反应就是是指将一个java项目部署到不同的环境中去,实际上,在maven中,它认为当你参加一个 ...

  8. 环境搭建之JAVA项目部署步骤

    一.配置java环境 1.linux下安装jdk,在此处安装1.7_x64的jdk,解压缩  tar -zxvf xxxxxxx 2.将jdk移动到/usr下 mv java /user/ 3.配置环 ...

  9. socket、tcp/ip协议、udp协议

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

  10. TCC(Tiny C Compiler)介绍

    TCC是一个超小.超快的标准C语言编译器.她可以从这里(http://bellard.org/tcc/)下载到:注意,要下载http://download.savannah.nongnu.org/re ...