webpack-dev-server

  1. npm install webpack-dev-server -D
  • 修改下package.json

    1. "scripts": {
    2. "server": "webpack-dev-server"
    3. },
  • 在webpack.config.js配置:

    1. devServer: {
    2. contentBase: "./dist",
    3. open: true,
    4. port: 8081
    5. },
  • 启动

    1. npm run server
  • 启动服务后,会发现dist⽬录没有了,这是因为devServer把打包后的模块不会放在dist⽬录下,⽽是放到内存中,从⽽提升速度。

HMR:热模块替换

Hot Module Replacement(以下简称 HMR)是 webpack 发展至今引入的最令人兴奋的特性之一 ,当你对代码进行修改并保存后,webpack 将对代码重新打包,并将新的模块发送到浏览器端,浏览器通过新的模块替换老的模块,这样在不刷新浏览器的前提下就能够对应用进行更新。

  1. devServer: {
  2. contentBase: "./dist",
  3. open: true,
  4. hot:true,
  5. // 即使 HMR 不⽣效,让浏览器不⾃动刷新,就开启hotOnly
  6. hotOnly:true
  7. },

配置⽂件头部引⼊webpack

  1. const webpack = require("webpack");

在插件配置处添加:

  1. plugins: [ new webpack.HotModuleReplacementPlugin()]