@aomi/webapp-cli
Version:
a web app cli
41 lines (40 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.execute = void 0;
const webpack = require("webpack");
const WebpackDevServer = require("webpack-dev-server");
const SpeedMeasurePlugin = require("speed-measure-webpack-plugin");
const getWebpackConfig_1 = require("../utils/getWebpackConfig");
const getWebappConfig_1 = require("../utils/getWebappConfig");
/**
* @author 田尘殇Sean(sean.snow@live.com) create at 2018/10/3
*/
async function execute() {
const config = (0, getWebpackConfig_1.default)('dev');
const smp = new SpeedMeasurePlugin();
const configWrapper = smp.wrap(config);
const { devServer } = (0, getWebappConfig_1.getWebappConfig)();
const { api, ...otherDevServer } = devServer || {};
const serverConfig = {
compress: true,
historyApiFallback: true,
host: '0.0.0.0',
port: 3000,
client: {
progress: true
},
proxy: {
'/api/*': {
target: api || 'http://localhost:8080',
pathRewrite: { '^/api': '' },
changeOrigin: true
}
},
open: true,
...otherDevServer
};
const compiler = webpack(configWrapper);
const server = new WebpackDevServer(serverConfig, compiler);
await server.start();
}
exports.execute = execute;