fix navigation and ESM stuff

This commit is contained in:
Rich Harris
2017-12-11 18:05:07 -05:00
parent c6778c961b
commit 33fcb865c8
3 changed files with 10 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ const create_app = require('./utils/create_app.js');
const create_webpack_compiler = require('./utils/create_webpack_compiler.js');
const esmRequire = esm(module, {
esm: 'all'
esm: 'js'
});
module.exports = function connect(opts) {

View File

@@ -3,7 +3,14 @@ window.addEventListener('click', event => {
while (a && a.nodeName !== 'A') a = a.parentNode;
if (!a) return;
if (navigate(new URL(a.href))) event.preventDefault();
if (navigate(new URL(a.href))) {
event.preventDefault();
history.pushState({}, '', a.href);
}
});
window.addEventListener('popstate', event => {
navigate(window.location);
});
const target = document.querySelector('main');

View File

@@ -30,7 +30,7 @@ module.exports = function create_app(routes, dest, matchers, dev) {
}
`.replace(/^\t{3}/gm, '').trim();
})
.join(' else ');
.join(' else ') + ' else return false;';
const main = template.replace('// ROUTES', code);