zoukankan      html  css  js  c++  java
  • webpack-dev-server

    webpack-dev-server是一个小型的node.js Express服务器,它使用webpack-dev-middleware中间件来为通过webpack打包生成的资源文件提供Web服务。它还有一个通过Socket.IO连接着webpack-dev-server服务器的小型运行时程序。webpack-dev-server发送关于编译状态的消息到客户端,客户端根据消息作出响应。

    webpack-dev-server有两种模式支持自动刷新——iframe模式和inline模式

    • 在iframe模式下:页面是嵌套在一个iframe下的,在代码发生改动的时候,这个iframe会重新加载
    • 在inline模式下:一个小型的webpack-dev-server客户端会作为入口文件打包,这个客户端会在后端代码改变的时候刷新页面

    1. 使用iframe模式,无需额外配置,只需在浏览器输入

    http://localhost:8080/webpack-dev-server/index.html

    2. 使用inline模式有两种方式:命令行和nodejs API

    • 命令行: 在运行时,加上 --inline 选项
    $ webpack-dev-server --inline
    

      访问,通过http://localhost:8080 就可以访问

    • nodejs API 方式 ,需要手动把 webpack-dev-server/client?http://localhost:8080 加到配置文件的入口文件处

    webpac-dev-server支持Hot Module Replacement,即模块热替换,在前端代码变动的时候无需整个刷新页面,只把变化的部分替换掉

    webpack 特点

    代码拆分
    Webpack 有两种组织模块依赖的方式,同步和异步。异步依赖作为分割点,形成一个新的块。在优化了依赖树后,每一个异步区块都作为一个文件被打包。
    Loader
    Webpack 本身只能处理原生的 JavaScript 模块,但是 loader 转换器可以将各种类型的资源转换成 JavaScript 模块。这样,任何资源都可以成为 Webpack 可以处理的模块。
    智能解析
    Webpack 有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件。甚至在加载依赖的时候,允许使用动态表达式 require("./templates/" + name + ".jade")。
    插件系统
    Webpack 还有一个功能丰富的插件系统。大多数内容功能都是基于这个插件系统运行的,还可以开发和使用开源的 Webpack 插件,来满足各式各样的需求。
    快速运行
    Webpack 使用异步 I/O 和多级缓存提高运行效率,这使得 Webpack 能够以令人难以置信的速度快速增量编译。

    总结下来其主要的优势:

      1. 按需加载模块,按需进行懒加载,在实际用到某些模块的时候再增量更新
      2. webpack 是以 commonJS 的形式来书写脚本,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
      3. 能被模块化的不仅仅是 JS 了,能处理各种类型的资源。
      4. 开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转base64等。
      5. 扩展性强,插件机制完善
  • 相关阅读:
    JMeter学习使用(1)
    ip设置
    JMeter安装过程小问题
    appium-doctor
    使用 Xcode-Instrument-Automation -App -Ios自动化测试
    接口测试学习 -01
    在Windows下安装配置jforum测试环境
    root_one Android自动化测试02--git拉取及eclipse导入
    selenium+python学习总结-mac
    MySQL速学篇第四课
  • 原文地址:https://www.cnblogs.com/laneyfu/p/6131856.html
Copyright © 2011-2022 走看看