Exporting with app.mount should work in browser
- Dominant language
- JavaScript
- Stars
- 6.8k
- Forks
- 573
- PR merge metrics
- No merged PRs in 30d
Description
### Expected behavior
`module.exports = app.mount('body')` should work on the browser, with browsers APIs
### Actual behavior
Using fetch ends up in `fetch is not defined error` which dissappears when I change `module.exports = app.mount('body')` with `app.mount('body')`
### Steps to reproduce behavior
Run `npx create-choo-app some-app` and replace the main view with
```js
var html = require('choo/html')
module.exports = view
var readme
function view (state, emit) {
if (!readme) {
fetch('../README.md')
.then(response => response.text())
.then(text => {
readme = text
emit('render')
})
}
return html`
${readme || html`
Loading...
`}`
}
```
Then run `npm start` and it will throw something like
```txt
ReferenceError: fetch is not defined
at Choo.view [as _handler] (/home/yerko/Dev/choo-talk/views/main.js:8:5)
at Choo._prerender (/home/yerko/Dev/choo-talk/node_modules/choo/index.js:235:18)
at Choo.toString (/home/yerko/Dev/choo-talk/node_modules/choo/index.js:209:19)
at Object.module.exports.render (/home/yerko/Dev/choo-talk/node_modules/bankai/ssr/choo.js:66:7)
at ServerRender.render (/home/yerko/Dev/choo-talk/node_modules/bankai/ssr/index.js:28:39)
at Array.renderApp (/home/yerko/Dev/choo-talk/node_modules/bankai/lib/graph-document.js:54:11)
at module.exports (/home/yerko/Dev/choo-talk/node_modules/run-waterfall/index.js:24:13)
at documentifyRoute (/home/yerko/Dev/choo-talk/node_modules/bankai/lib/graph-document.js:47:5)
at push (/home/yerko/Dev/choo-talk/node_modules/map-limit/index.js:46:5)
at flush (/home/yerko/Dev/choo-talk/node_modules/map-limit/index.js:32:7)
```
Contributor guide
Assessment
This issue has not been assessed yet.