start method
Future<void>
start(
{ - required bool enableHotReload,
})
Implementation
Future<void> start({required bool enableHotReload}) async {
lockInput();
logger.detail('Starting dev server');
if (isCompleted) {
throw Exception('Cannot start a dev server after it has been stopped.');
}
if (isServerRunning) {
throw Exception('Cannot start a dev server while already running.');
}
final progress = TickedProgress(
'Generating server code',
level: logger.level,
);
final server = await codeGenerator(progress.update);
progress.complete('Generated server code');
_enableHotReload = enableHotReload;
_serveOnReady = () {
_printReadyBoard(
tag: _hasReloadedOnce ? StatusBoardTag.reload : StatusBoardTag.ready,
routes: server.routes,
).ignore();
};
await serve(enableHotReload: enableHotReload, onReady: _serveOnReady);
if (enableHotReload) {
watchForInput();
await watchForFileChanges();
}
}