我正在尝试为我的SPA构建路由,问题是当我使用localhost:3000
时路由工作正常。它就像它想象的那样工作。但如果网址为127.0.0.1:8000
或domain.com/route
,则无效。
对于localhost:3000
我正在使用npm模块lite-server
而对于127.0.0.1:8000
我正在使用npm模块local-web-server
。我用于路由的库是Navigo。
多条路线:Example
试过提供的演示,仍然没有运气。搜索互联网,没有关于客户端路由的Stack Overflow问题,仅针对后端。
路线代码:
var routes = new Navigo(null);
// Main
routes.on(() => {
console.log('Default route');
});
// Other routes
routes.on({
'/route1': () => {
console.log('route1');
},
'/route2': () => {
console.log('route2');
}
}).resolve();
// 404
routes.notFound(() => {
console.log(404);
}).resolve();
只有默认路线有效,其余部分将被忽略。
感谢任何形式的帮助。
答案 0 :(得分:1)
在127.0.0.1或其他域名上对我完全正常。
const dummyTarget = document.querySelector('div'); // <-- Dummy target to fake navigation
// Initial Navigo
var root = null;
var useHash = true; // Defaults to: false
var hash = '#!'; // Defaults to: '#'
var router = new Navigo(root, useHash, hash);
router
.on({
'/': () => { // This is actually the route
dummyTarget.innerHTML = `I'm on home page`;
},
'/another': () => {
dummyTarget.innerHTML = 'Now on second page';
}
})
.resolve();