mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-14 20:14:39 +00:00
add server- and client-side store management (#178)
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
import { init, prefetchRoutes } from '../../../runtime.js';
|
||||
import { Store } from 'svelte/store.js';
|
||||
import { routes } from './manifest/client.js';
|
||||
|
||||
window.init = () => {
|
||||
return init(document.querySelector('#sapper'), routes);
|
||||
return init(document.querySelector('#sapper'), routes, {
|
||||
store: data => new Store(data)
|
||||
});
|
||||
};
|
||||
|
||||
window.prefetchRoutes = prefetchRoutes;
|
||||
@@ -3,6 +3,7 @@ import { resolve } from 'url';
|
||||
import express from 'express';
|
||||
import serve from 'serve-static';
|
||||
import sapper from '../../../dist/middleware.ts.js';
|
||||
import { Store } from 'svelte/store.js';
|
||||
import { routes } from './manifest/server.js';
|
||||
|
||||
let pending;
|
||||
@@ -77,7 +78,14 @@ const middlewares = [
|
||||
next();
|
||||
},
|
||||
|
||||
sapper({ routes })
|
||||
sapper({
|
||||
routes,
|
||||
store: () => {
|
||||
return new Store({
|
||||
title: 'Stored title'
|
||||
});
|
||||
}
|
||||
})
|
||||
];
|
||||
|
||||
if (BASEPATH) {
|
||||
|
||||
1
test/app/routes/store.html
Normal file
1
test/app/routes/store.html
Normal file
@@ -0,0 +1 @@
|
||||
<h1>{{$title}}</h1>
|
||||
@@ -521,6 +521,18 @@ function run({ mode, basepath = '' }) {
|
||||
assert.equal(title, '42');
|
||||
});
|
||||
});
|
||||
|
||||
it('renders store props', () => {
|
||||
return nightmare.goto(`${base}/store`)
|
||||
.page.title()
|
||||
.then(title => {
|
||||
assert.equal(title, 'Stored title');
|
||||
return nightmare.init().page.title();
|
||||
})
|
||||
.then(title => {
|
||||
assert.equal(title, 'Stored title');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('headers', () => {
|
||||
|
||||
Reference in New Issue
Block a user