feat: add more koa app for webpack-serve add-on

This commit is contained in:
endiliey 2018-07-30 15:23:28 +08:00
parent 12cded5fa0
commit f7f063c56e

View file

@ -3,10 +3,10 @@ const fs = require('fs-extra');
const chalk = require('chalk'); const chalk = require('chalk');
const webpack = require('webpack'); const webpack = require('webpack');
const chokidar = require('chokidar'); const chokidar = require('chokidar');
const convert = require('koa-connect') const convert = require('koa-connect');
const range = require('koa-range') const range = require('koa-range');
const history = require('connect-history-api-fallback') const history = require('connect-history-api-fallback');
const portfinder = require('portfinder') const portfinder = require('portfinder');
const serve = require('webpack-serve'); const serve = require('webpack-serve');
const webpackNiceLog = require('webpack-nicelog'); const webpackNiceLog = require('webpack-nicelog');
const HtmlWebpackPlugin = require('html-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin');
@ -14,9 +14,9 @@ const load = require('./loader');
const createDevConfig = require('./webpack/dev'); const createDevConfig = require('./webpack/dev');
async function getPort(port) { async function getPort(port) {
portfinder.basePort = parseInt(port) || 8080 portfinder.basePort = parseInt(port) || 8080;
port = await portfinder.getPortPromise() port = await portfinder.getPortPromise();
return port return port;
} }
module.exports = async function dev(sourceDir, cliOptions = {}) { module.exports = async function dev(sourceDir, cliOptions = {}) {
@ -87,13 +87,16 @@ module.exports = async function dev(sourceDir, cliOptions = {}) {
logLevel: 'error', logLevel: 'error',
port, port,
add: app => { add: app => {
app.use(range) // enable range request https://tools.ietf.org/html/rfc7233 app.use(range); // enable range request https://tools.ietf.org/html/rfc7233
app.use(convert(history({ app.use(
rewrites: [ convert(
{ from: /\.html$/, to: '/' } history({
] rewrites: [{from: /\.html$/, to: '/'}]
}))) })
)
);
} }
} }
); );
console.log("finish serve");
}; };