博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack-serve 的使用
阅读量:6505 次
发布时间:2019-06-24

本文共 2485 字,大约阅读时间需要 8 分钟。

webpack-serve

官方已经不维护了,还请继续食用webpack-dev-server

基本情况

配合webpack4食用最佳,在webpack3及以前的版本会有帮助信息提示

因为热加载使用的是WebSockets,所以在老版本的浏览器里用不了

和webpack-dev-server的差异

webpack-dev-server webpack-serve
Initial release 23 Dec 2014 12 feb 2018
Total releases 74 7
Github stars 3449 231
Lines of code 28301 16075
under the hood Express.js (22047 lines) Koa.js (8913 lines)
API not aligned API first
Mode only maintenance evolution
Total work slower but supports old browsers fast alternative

安装

$ npm install --save-dev webpack-serve 或 $ yarn add -D webpack-serve

使用

在客户端使用命令行模式:

$ webpack-serve或$ webpack-serve ./webpack.config.js或$ webpack-serve --config ./webpack.config.js

在node里使用API模式

const serve = require('webpack-serve');serve([option]);

webpack-serve的配置

在项目的根目录/下:

1. package.json里添加serve属性2. 创建.serverc或者.serverc.json文件,支持json或者yml的编写格式3. 使用commonjs规范编写的serve.config.js文件

更常用的方式是在webpack的config里添加serve属性

关于webpack-serve API 模式 的 option 属性

介绍几个我觉得常用的,其余的可以在里查看

Type: Object

Default: {}

用于设置webpack的配置信息

const serve = require('webpack-serve');const config = require('./webpack.config.js');serve({config});

Type: String|[String]

Default: process.cwd()

用于设置静态资源的读取路径

Note: 默认情况下,该配置下的路径读取优先级高于webpack的配置路径

const serve = require('webpack-serve');const config = require('./webpack.config.js');serve({    content: [__dirname],    config});

如果想要使用webpack的配置路径,需要使用到add附加属性的配置,在content之前调用webpack

serve({    content: [__dirname],    config    add: (app, middleware, options) => {        middleware.webpack();        middleware.content();    }});

附加功能配置

上面的content里有简单的使用介绍

回调参数:

  • app 底层的koa应用实例
  • middleware 通过Accessor functions(访问函数)调用webpack-dev-middleware和koa-static middleware的对象。
  • options webpack的配置

还有很多功能可以添加进去

  • //
  • compress
  • historyApiFallback
  • proxy + history fallback
  • proxy + router
  • reuse Chrome tab
  • staticOptions
  • useLocalIp
  • watch content

具体可以看和

对于单页应用来说,historyApiFallback 是很有必要的一个功能,主要是用于刷新页面后路由重定向,

对于需要做中间层api转发的还有端口和路由转发的proxy模块也是有用到的

// 因为基于koa2, 所以要把中间件用koa-connect包一层const convert = require("koa-connect");const history = require("connect-history-api-fallback"); // h5路由适配serve: {    add: (app, middleware, options) => {                    app.use(convert(proxy('/api', { target: 'http://localhost:8000' })));        app.use(convert(history({            disableDotRule: true,            verbose: true,            htmlAcceptHeaders: ['text/html', 'application/xhtml+xml']            // ... see: https://github.com/bripkens/connect-history-api-fallback#options        })));    },    port: '3000'}

转载地址:http://hbqyo.baihongyu.com/

你可能感兴趣的文章
使用Spring Cloud和Docker构建微服务
查看>>
常用链接
查看>>
NB-IoT的成功商用不是一蹴而就
查看>>
九州云实战人员为您揭秘成功部署OpenStack几大要点
查看>>
1.电子商务支付方式有哪些 2.比较不同支付方式的优势劣势
查看>>
医疗卫生系统被爆漏洞,7亿公民信息泄露……
查看>>
神秘函件引发的4G+与全网通的较量
查看>>
CloudCC:智能CRM究竟能否成为下一个行业风口?
查看>>
高德开放平台推出LBS游戏行业解决方案提供专业地图平台能力支持
查看>>
追求绿色数据中心
查看>>
Web开发初学指南
查看>>
OpenStack Days China:华云数据CTO郑军分享OpenStack创新实践
查看>>
探寻光存储没落的真正原因
查看>>
高通64位ARMv8系列服务器芯片商标命名:Centriq
查看>>
中国人工智能学会通讯——融合经济学原理的个性化推荐 1.1 互联网经济系统的基本问题...
查看>>
盘点大数据商业智能的十大戒律
查看>>
戴尔为保护数据安全 推出新款服务器PowerEdge T30
查看>>
今年以来硅晶圆涨幅约达40%
查看>>
构建智能的新一代网络——专访Mellanox市场部副总裁 Gilad Shainer
查看>>
《数字视频和高清:算法和接口》一导读
查看>>