部署后的Vuejs路由器和nodejs后端

wlzqhblo  于 2022-12-26  发布在  Node.js
关注(0)|答案(1)|浏览(112)

我正在使用带有nodejs的vue2。在使npm运行build并部署到主机后,路由器链路给出404。
我的vue. config. js:

const { defineConfig } = require('@vue/cli-service');
module.exports = defineConfig({
  transpileDependencies: ['vuetify'],
});

和我的index.js(只显示一个路径,否则太长):

{
    path: '/AddPosts',
    name: 'AddPostsView',
    component: () => import('./../views/AddPostsView.vue'),
  },
];

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes,
});

export default router;

当加载到firebase有一种方法来选择"单页应用程序",然后路由工作正常。但我怎么能改变我的应用程序,使它只使用我的index.html。托管到网站,我用FTP上传它。
我尝试过更改历史记录模式,但没有任何效果:https://router.vuejs.org/guide/essentials/history-mode.html#html5-mode.
我还尝试了vue.config.js这个:

publicPath: '/'

我怎样才能让我的路线工作,使它不会给我404当我转到下一页?

1rhkuytd

1rhkuytd1#

解决方案是通过FTP或他们在vue doc. page APACHE中所称的将“.htaccess”文件添加到HOST服务器。文件的内容:

<IfModule mod_rewrite.c>   
  RewriteEngine On   RewriteBase /  
  RewriteRule ^index\.html$ - [L]   RewriteCond %{REQUEST_FILENAME} !-f 
  RewriteCond %{REQUEST_FILENAME} !-d   RewriteRule . /index.html [L]
</IfModule>

相关问题