Necesito un enrutador vanilla js para un sitio de spa. Aquí en github encontré que parece una implementación ideal, pero hay un problema. Esta implementación, y todo lo que encontré en Internet, funciona bien solo con hash, a través de la API de historial que necesito, se niegan a funcionar, me dicen qué estoy haciendo mal o me dicen otra implementación que funcione.
Entonces, solo tomo el código de clase del enrutador y configuro las rutas que necesito:
const router = new Router({ mode: 'history', root: '/' }); router .add('', () => { console.log('deafult page'); }).add('settings', () => { console.log('settings page'); }).add(/task-list/, () => { console.log('task-list page'); })console.log('deafult page') , si ingreso http://localhost:3000/settings en la línea, entonces me dará Cannot GET /settings si uso el evento de clic document.addEventListener('click',()=>router.navigate('settings'))http://localhost:3000/settings , pero el código console.log('settings page'); no trabajaráSolo necesita agregar la configuración del paquete web
devServer: { contentBase: './dist', port: 3000, historyApiFallback: true, // its enable SPA routing through historyApi}