Files
vant/packages/vant-cli/src/commands/dev.ts
2019-11-29 14:17:40 +08:00

48 lines
1.2 KiB
TypeScript

import webpack from 'webpack';
import WebpackDevServer from 'webpack-dev-server';
import { getPort } from 'portfinder';
import { clean } from '../commands/clean';
import { buildESModuleOutputs } from './build';
import { siteDevConfig } from '../config/webpack.site.dev';
import { genPackageEntry } from '../compiler/gen-package-entry';
import { genPacakgeStyle } from '../compiler/gen-package-style';
import { genSiteMobileShared } from '../compiler/gen-site-mobile-shared';
import { genSiteDesktopShared } from '../compiler/gen-site-desktop-shared';
import { genStyleDepsMap } from '../compiler/gen-style-deps-map';
function runWebpack() {
const server = new WebpackDevServer(
webpack(siteDevConfig),
(siteDevConfig as any).devServer
);
getPort(
{
port: 8080
},
(err, port) => {
if (err) {
console.log(err);
return;
}
server.listen(port, 'localhost', (err?: Error) => {
if (err) {
console.log(err);
}
});
}
);
}
export async function dev() {
await clean();
await buildESModuleOutputs();
genStyleDepsMap();
genPackageEntry();
genPacakgeStyle();
genSiteMobileShared();
genSiteDesktopShared();
runWebpack();
}