watch

  1. package.json

  2. npm run watch,启动webpack检测打包,不会退出进程,只要修改文件,会自动生成新的文件

  3. vscode插件,live-server,启动一个服务,打开html文件,借用了window.location.reload()

  4. 当修改原文件,通过webpack动态打包后,生成新的文件,liver-server刚好可以检测到文件变化,页面就刷新一下

  5. 更新这一套可以做到,然而webpack采用的是webpack-dev-server

webpack-dev-server

  1. webpack-dev-server 在编译之后不会写入到任何输出文件。而是将 bundle 文件保留在内存中,事实上webpack-dev-server使用了一个库叫memory-fs webpack
  2. 模块热替换是指在 应用程序运行过程中,替换、添加、删除模块,而无需重新刷新整个页面;修改了css、js源代码,会立即在浏览器更新,相当于直接在浏览器的devtools中直接修改样式;默认情况下,webpack-dev-server已经支持HMR,我们只需要开启即可;

但是如果要热更新math.js文件,需要写如下代码:

如果没有写上面红色框的代码,那么修改math.js文件,会刷新整个网页
修改了index.html文件后,如果加了上面红色框代码,那么修改math.js文件,页面是不会看到index.html更新后的内容,但是js可以看到修改后执行的代码,相反如果加,那么会刷新整个页面代码

hotOnly、host配置

  1. hotOnly是当代码编译失败时,是否刷新整个页面:

    1. 默认情况下当代码编译失败修复后,我们会重新刷新整个页面;
    2. 如果不希望重新刷新整个页面,可以设置hotOnly为true;
  2. host设置主机地址:
    1. 默认值是localhost;
    2. 如果希望其他地方也可以访问,可以设置为 0.0.0.0;
  3. localhost 和 0.0.0.0 的区别:
    1. localhost:本质上是一个域名,通常情况下会被解析成127.0.0.1;
    2. 127.0.0.1:回环地址(Loop Back Address),表达的意思其实是我们主机自己发出去的包,直接被自己接收;
      1. 正常的数据库包经常 应用层 - 传输层 - 网络层 - 数据链路层 - 物理层 ;
      2. 而回环地址,是在网络层直接就被获取到了,是不会经常数据链路层和物理层的;
      3. 比如我们监听 127.0.0.1时,在同一个网段下的主机中,通过ip地址是不能访问的;
    3. 0.0.0.0:监听IPV4上所有的地址,再根据端口找到不同的应用程序;
      1. 比如我们监听 0.0.0.0时,在同一个网段下的主机中,通过ip地址是可以访问的;

historyApiFallback

  1. historyApiFallback是开发中一个非常常见的属性,它主要的作用是解决SPA页面在路由跳转之后,进行页面刷新时,返回404的错误。
  2. 默认是false,如果设置为true,那么在刷新网页返回404错误时,会自动跳转到index.html
  3. 如果设置为object类型,可以配置rewrites属性:

webpack-dev-middleware

  1. server.js
  2. webpack.config.js
  3. 随便写一个入口js文件
  4. node server.js,启动服务localhost:3000
  5. 在浏览器中打开,就可以看到js代码在控制台中打印的结果
  6. 很不好的是,我们修改了入口js文件内容,需要刷新页面才能看到新的结果。

加载vue和react文件,且热更新

  1. 目录结构
  2. App.jsx
  3. App.vue
  4. index.js
  5. babel.config.js
  6. index.html
  7. package.json
  8. webpack.config.js
  9. 反向安装后yarn install
  10. 执行命令npm run serve
  11. 打开localhost:8080

webpack-dev-server(devServer)相关推荐

  1. WEBPACK DEV SERVER

    文/tsyeyuanfeng(简书作者) 原文链接:http://www.jianshu.com/p/941bfaf13be1# 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者& ...

  2. webpack dev server 和 sublime text 配合时需要注意的地方

    参考:https://webpack.js.org/guides/development/ Adjusting Your Text Editor Some text editors have a &q ...

  3. 解决新版本webpack vue-cli生成文件没有dev.server.js问题

    新版本webpack生成的dev.server.js 在webpack.dev.conf.js中webpack.dev.conf.jsconst axios = require('axios') co ...

  4. Invalid options object. Dev Server has been initialized using an options object

    启动webpack报错: [webpack-cli] Invalid options object. Dev Server has been initialized using an options ...

  5. Invalid options object. Dev Server has been initialized using an options object that does not match

    Invalid options object. Dev Server has been initialized using an options object that does not match ...

  6. Webstorm中提示Cannot find module 'webpack.dev.conf.js'

    问题描述: 在Webstorm中运行cordova项目时,提示: Cannot find module 'webpack.dev.conf.js' 先不要着急删掉node_modules,然后重新np ...

  7. Vue运行报错webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

    vue 项目 npm run dev 运行时报错: npm ERR! xxx@1.0.0 dev: `webpack-dev-server --inline --progress --config b ...

  8. vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete)...

    vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete) 手把手式笔记 Axios配置 安装 axios ...

  9. ValidationError: Invalid options object. Dev Server has been initialized using an options object th

    ValidationError: Invalid options object. Dev Server has been initialized using an options object tha ...

  10. vue:hadoop@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

    运行vue项目是报错: hadoop@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.con ...

最新文章

  1. android开发应用知识,Android应用开发经常使用知识
  2. caffe开始训练自己的模型(转载并验证过)
  3. 旭辉集团签约帆软软件,打造地产行业数字化转型新标杆
  4. 白话区块链 之 12 - 未花费事务输出 (UTXO) 是什么?
  5. zemax操作例子_ZEMAX软件使用入门
  6. GameFi市值飙升,详解N.Fans目前的发展现状以及未来前景
  7. 闪电对计算机或网络设备的威胁,计算机网络的雷电防护_计算机网络
  8. 电脑操作及相关指令、命令
  9. HTML小游戏9 —— 潜行游戏《侠盗罗宾汉》(附完整源码)
  10. 证明:1/n调和级数为何是发散的
  11. Win7获KB4493132更新
  12. Unity导入模型贴贴图一面有贴图另一面透明的解决方法
  13. 模型误差、观测误差、截断误差(或称方法误差)、舍入误差
  14. oracle中text是什么意思,ORACLE TEXT是什么
  15. 无人机——开源飞控简介
  16. 微信小程序生成小程序码图片-【附坑点】
  17. 支付系统设计五:对账系统设计01-总览
  18. redist 在linux上的安装教程
  19. 【C++】STL——string(两万字详解)
  20. Cyanine5.5 phosphoramidite,5‘-terminal可用于在寡核苷酸合成器中直接标记

热门文章

  1. 一心多用多线程-线程的生命周期
  2. Python 的七大就业方向,总有一个适合你!
  3. Gitee码云仓库操作步骤---忘了就来看看
  4. 通过Java实现求水仙花数
  5. yolo3各部分代码(超详细)
  6. Maven的settings.xml配置详解-阿里云仓库
  7. git分支管理和git提交规范
  8. 《Java NIO》书籍下载
  9. 模式识别实验matlab报告,西安交大模式识别实验报告.doc
  10. C#到底是面向对象还是面向过程