mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-13 03:25:24 +00:00
@@ -105,8 +105,15 @@ class Watcher extends EventEmitter {
|
||||
|
||||
const dev_port = await ports.find(10000);
|
||||
|
||||
const routes = create_routes();
|
||||
create_main_manifests({ routes, dev_port });
|
||||
try {
|
||||
const routes = create_routes();
|
||||
create_main_manifests({ routes, dev_port });
|
||||
} catch (err) {
|
||||
this.emit('fatal', <events.FatalEvent>{
|
||||
message: err.message
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
this.dev_server = new DevServer(dev_port);
|
||||
|
||||
@@ -114,6 +121,15 @@ class Watcher extends EventEmitter {
|
||||
watch_files(locations.routes(), ['add', 'unlink'], () => {
|
||||
const routes = create_routes();
|
||||
create_main_manifests({ routes, dev_port });
|
||||
|
||||
try {
|
||||
const routes = create_routes();
|
||||
create_main_manifests({ routes, dev_port });
|
||||
} catch (err) {
|
||||
this.emit('error', <events.ErrorEvent>{
|
||||
message: err.message
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
watch_files(`${locations.app()}/template.html`, ['change'], () => {
|
||||
@@ -272,7 +288,7 @@ class Watcher extends EventEmitter {
|
||||
if (this.closed) return;
|
||||
this.closed = true;
|
||||
|
||||
this.dev_server.close();
|
||||
if (this.dev_server) this.dev_server.close();
|
||||
|
||||
if (this.proc) this.proc.kill();
|
||||
this.filewatchers.forEach(watcher => {
|
||||
|
||||
@@ -2,15 +2,14 @@ import * as glob from 'glob';
|
||||
import { locations } from '../config';
|
||||
import { create_routes } from '../core';
|
||||
|
||||
export function find_page(pathname: string, files: string[] = glob.sync('**/*.*', { cwd: locations.routes(), dot: true, nodir: true })) {
|
||||
const routes = create_routes({ files });
|
||||
export function find_page(pathname: string, cwd = locations.routes()) {
|
||||
const { pages } = create_routes(cwd);
|
||||
|
||||
for (let i = 0; i < routes.length; i += 1) {
|
||||
const route = routes[i];
|
||||
for (let i = 0; i < pages.length; i += 1) {
|
||||
const page = pages[i];
|
||||
|
||||
if (route.pattern.test(pathname)) {
|
||||
const page = route.handlers.find(handler => handler.type === 'page');
|
||||
if (page) return page.file;
|
||||
if (page.pattern.test(pathname)) {
|
||||
return page.parts[page.parts.length - 1].component.file;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user