开发服务

easywebpack 整个体系提供的开发构建服务是基于 koa 实现的,用于支持各种类型项目(服务端渲染,前端渲染,静态页面,本地内存编译等),实现了 内存编译,热更新,发布编译,[代理](https://webpack.js.org/configuration/dev-server/#devserver-proxy),[historyApiFallback](https://webpack.js.org/configuration/dev-server/#devserver-historyapifallback)等功能,其中代理和historyApiFallback配置只在纯前端项目起作用。具体实现请见 [webpack-tool ](https://github.com/easy-team/webpack-tool)插件。 easywebpack-cli  和 [egg-webpack](https://github.com/easy-team/egg-webpack) 都依赖该插件。

纯前端渲染项目

//${root}/webpack.config.js
module.exports = {
 entry:{
    index: './src/index.js'
  },
  module:{
    rules:[]
  }
  plugins: [],
  devServer: { 
    open: 'http://127.0.0.1:8888',
    // https://webpack.js.org/configuration/dev-server/#devserver-before
    before: before => { 
      // register koa middleware
    },
    // https://webpack.js.org/configuration/dev-server/#devserver-after
    after: app => {
      // register koa middleware
    },
    // https://webpack.js.org/configuration/dev-server/#devserver-proxy
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        pathRewrite: {'^/api' : ''}
      }
    },
    // https://webpack.js.org/configuration/dev-server/#devserver-historyapifallback
    historyApiFallback: {
      index: '/app.html' // 默认 index.html
    }
  }
}

服务端渲染项目

Egg 服务端渲染项目时,devServer 配置是无需的,即使配置了也无效。代理和historyApiFallback通过项目的 Node 服务处理。


Author: sky
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source sky !
 Previous
Css Module Css Module
easywepack4easywebpack4 默认提供 /\.module\.(css|less|scss|stylus)/  的文件规范的 CSS Module 特性,把 css module 的样式文件改成 /\.module\.(css|less|scss|stylus)/  规范,这...
2019-10-20 sky
Next 
easywebpack5 easywebpack5
方案说明Webpack5适配工作webpack 4  -> webpack 5 插件列表升级 webpack 为 5升级相关依赖插件为最新版本 webpack-tool easywebpack easywebpack-cli easywebpack-vue easywebpack-rea...
2019-10-20 sky