diff --git a/app/client.js b/app/client.js new file mode 100644 index 0000000..05d30aa --- /dev/null +++ b/app/client.js @@ -0,0 +1,7 @@ +import { init } from 'sapper/runtime.js'; +import { routes } from './manifest/client.js'; + +// `routes` is an array of route objects injected by Sapper +init(document.querySelector('#sapper'), routes); + +if (module.hot) module.hot.accept(); \ No newline at end of file diff --git a/app/manifest/client.js b/app/manifest/client.js new file mode 100644 index 0000000..55e2bfd --- /dev/null +++ b/app/manifest/client.js @@ -0,0 +1,15 @@ +// This file is generated by Sapper — do not edit it! +export const routes = [ + { pattern: /^\/?$/, params: () => ({}), load: () => import(/* webpackChunkName: "_" */ '../../routes/index.html') }, + { pattern: /^\/4xx\/?$/, params: () => ({}), load: () => import(/* webpackChunkName: "_4xx" */ '../../routes/4xx.html') }, + { pattern: /^\/5xx\/?$/, params: () => ({}), load: () => import(/* webpackChunkName: "_5xx" */ '../../routes/5xx.html') }, + { pattern: /^\/about\/?$/, params: () => ({}), load: () => import(/* webpackChunkName: "about" */ '../../routes/about.html') }, + { pattern: /^\/blog\/?$/, params: () => ({}), load: () => import(/* webpackChunkName: "blog" */ '../../routes/blog/index.html') }, + { pattern: /^\/blog(?:\/([^\/]+))?\/?$/, params: match => ({ slug: match[1] }), load: () => import(/* webpackChunkName: "blog_$slug$" */ '../../routes/blog/[slug].html') } +]; + +if (module.hot) { + import('/Users/208311/Development/SVELTE/sapper/src/hmr-client.js').then(client => { + client.connect(23456); + }); +} \ No newline at end of file diff --git a/app/manifest/server.js b/app/manifest/server.js new file mode 100644 index 0000000..6bc89c4 --- /dev/null +++ b/app/manifest/server.js @@ -0,0 +1,20 @@ +// This file is generated by Sapper — do not edit it! +import _ from '../../routes/index.html'; +import _4xx from '../../routes/4xx.html'; +import _5xx from '../../routes/5xx.html'; +import about from '../../routes/about.html'; +import blog from '../../routes/blog/index.html'; +import * as api_blog_posts from '../../routes/api/blog-posts.js'; +import * as api_blog_$slug$ from '../../routes/api/blog/[slug].js'; +import blog_$slug$ from '../../routes/blog/[slug].html'; + +export const routes = [ + { id: '_', type: 'page', pattern: /^\/?$/, params: () => ({}), module: _ }, + { id: '_4xx', type: 'page', pattern: /^\/4xx\/?$/, params: () => ({}), module: _4xx }, + { id: '_5xx', type: 'page', pattern: /^\/5xx\/?$/, params: () => ({}), module: _5xx }, + { id: 'about', type: 'page', pattern: /^\/about\/?$/, params: () => ({}), module: about }, + { id: 'blog', type: 'page', pattern: /^\/blog\/?$/, params: () => ({}), module: blog }, + { id: 'api_blog_posts', type: 'route', pattern: /^\/api\/blog-posts\/?$/, params: () => ({}), module: api_blog_posts }, + { id: 'api_blog_$slug$', type: 'route', pattern: /^\/api\/blog(?:\/([^\/]+))?\/?$/, params: match => ({ slug: match[1] }), module: api_blog_$slug$ }, + { id: 'blog_$slug$', type: 'page', pattern: /^\/blog(?:\/([^\/]+))?\/?$/, params: match => ({ slug: match[1] }), module: blog_$slug$ } +]; \ No newline at end of file diff --git a/app/manifest/service-worker.js b/app/manifest/service-worker.js new file mode 100644 index 0000000..0ea1a75 --- /dev/null +++ b/app/manifest/service-worker.js @@ -0,0 +1,33 @@ +// This file is generated by Sapper — do not edit it! +export const timestamp = 1518906946124; + +export const assets = [ + "favicon.png", + "global.css", + "great-success.png", + "manifest.json", + "svelte-logo-192.png", + "svelte-logo-512.png" +]; + +export const shell = [ + "/client/_.0.15d69aa40f5cf2c235b5.js", + "/client/blog.1.15d69aa40f5cf2c235b5.js", + "/client/blog_$slug$.2.15d69aa40f5cf2c235b5.js", + "/client/about.3.15d69aa40f5cf2c235b5.js", + "/client/_5xx.4.15d69aa40f5cf2c235b5.js", + "/client/_4xx.5.15d69aa40f5cf2c235b5.js", + "/client/6.6.15d69aa40f5cf2c235b5.js", + "/client/main.15d69aa40f5cf2c235b5.js", + "/client/0.b91f3b4b0888fc3dc282.hot-update.js", + "/client/b91f3b4b0888fc3dc282.hot-update.json" +]; + +export const routes = [ + { pattern: /^\/?$/ }, + { pattern: /^\/4xx\/?$/ }, + { pattern: /^\/5xx\/?$/ }, + { pattern: /^\/about\/?$/ }, + { pattern: /^\/blog\/?$/ }, + { pattern: /^\/blog(?:\/([^\/]+))?\/?$/ } +]; \ No newline at end of file diff --git a/server.js b/app/server.js similarity index 57% rename from server.js rename to app/server.js index cd79704..49743bc 100644 --- a/server.js +++ b/app/server.js @@ -1,8 +1,11 @@ -const fs = require('fs'); -const app = require('express')(); -const compression = require('compression'); -const sapper = require('sapper'); -const static = require('serve-static'); +import fs from 'fs'; +import express from 'express'; +import compression from 'compression'; +import sapper from 'sapper'; +import serve from 'serve-static'; +import { routes } from './manifest/server.js'; + +const app = express(); const { PORT = 3000 } = process.env; @@ -15,9 +18,11 @@ global.fetch = (url, opts) => { app.use(compression({ threshold: 0 })); -app.use(static('assets')); +app.use(serve('assets')); -app.use(sapper()); +app.use(sapper({ + routes +})); app.listen(PORT, () => { console.log(`listening on port ${PORT}`); diff --git a/templates/service-worker.js b/app/service-worker.js similarity index 90% rename from templates/service-worker.js rename to app/service-worker.js index cccb12a..542371d 100644 --- a/templates/service-worker.js +++ b/app/service-worker.js @@ -1,15 +1,12 @@ -const timestamp = '__timestamp__'; +import { timestamp, assets, shell, routes } from './manifest/service-worker.js'; + const ASSETS = `cache${timestamp}`; // `shell` is an array of all the files generated by webpack, // `assets` is an array of everything in the `assets` directory -const to_cache = __shell__.concat(__assets__); +const to_cache = shell.concat(assets); const cached = new Set(to_cache); -// `routes` is an array of `{ pattern: RegExp }` objects that -// match the pages in your app -const routes = __routes__; - self.addEventListener('install', event => { event.waitUntil( caches diff --git a/templates/2xx.html b/app/template.html similarity index 89% rename from templates/2xx.html rename to app/template.html index 5dc665a..a7e7d49 100644 --- a/templates/2xx.html +++ b/app/template.html @@ -10,9 +10,9 @@ -
Could not %sapper.method% %sapper.url%
- - %sapper.scripts% - -