UNPKG

@sanpjs/bundler-webpack

Version:

@sanpjs/bundler-webpack

47 lines 1.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const lodash_uniqBy_1 = __importDefault(require("lodash.uniqBy")); exports.default = (context, args) => { const { build, server, pages } = context.config; const { port = server.port, hot = server.hot, host = server.host, https = server.https, open = server.open } = args; // 监听html的修改触发热更新 // @ts-ignore const watchFiles = (0, lodash_uniqBy_1.default)(pages.map((page) => path_1.default.dirname(context.getLayout(page.name)))); // 从 rawOptions 和args 拼一份config出来 let devServerConfig = { port, host, https, hot: hot || false, headers: server.headers, static: { directory: context.resolver.resolveEntry('public', false), publicPath: build.publicPath, watch: true, ...server.static }, watchFiles, open, devMiddleware: { writeToDisk: server?.devMiddleware?.writeToDisk, serverSideRender: context.isSsr } }; // 触发server finalize,得到最终devServerConfig if (typeof server.finalize === 'function') { const c = server.finalize(devServerConfig, context); if (c) { devServerConfig = c; } } return { devtool: 'eval-cheap-module-source-map', cache: build.cache, devServer: devServerConfig }; }; //# sourceMappingURL=development.js.map