0

If I use the standard Sapper getting started routine:

npx degit "sveltejs/sapper-template#rollup" my-app
npx degit "sveltejs/sapper-template#webpack" my-app
cd my-app
npm install
npm run dev & open http://localhost:3000

I have "great success". In my Svelte app, I'm using rxfire to query my DB, so have a RxJS BehviourSubject that contains the initial value, and which gets updated once the DB information is loaded. This works great in Svelte, but the Sapper SSR version chokes.

If I change the sample Sapper app as follows:

<script>
 import { BehaviorSubject } from 'rxjs';

 let title$ = new BehaviorSubject('Great success!');
 title$.set = title$.next;
</script>

<!-- ... -->

<h1>{ $title$ }</h1>

I get this:

500

store.subscribe(...) is not a function

TypeError: store.subscribe(...) is not a function
    at get_store_value (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:255:36)
    at create_ssr_component (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:269:103)
    at Object.$$render (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:231:22)
    at Object.default (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:564:204)
    at create_ssr_component (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:406:38)
    at Object.$$render (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:231:22)
    at create_ssr_component (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:562:41)
    at $$render (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:231:22)
    at Object.render (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:239:26)
    at handle_page (/Users/eveland/Documents/Epiphero/Site/apps/test/__sapper__/dev/server/server.js:2936:36)

as the initial render before Svelte takes over and renders the page correctly.

Why can't I use the BehviorSubject in Sapper?

Chris Eveland
  • 323
  • 2
  • 8
  • can you show us what you are assigning to store variable? – KiraAG Jun 27 '19 at 04:22
  • To produce the error, I'm just leaving the initial value of 'Great Success!'. The only diff between the `sveltejs/sapper-template` code and mine is the above script tag and the modified `

    ` line. (Well, that and I added the RxJS package using npm.)

    – Chris Eveland Jun 27 '19 at 21:16

0 Answers0