【发布时间】:2017-10-10 15:08:00
【问题描述】:
我想从临时服务器上的子目录中提供我的 Vue.js 应用程序。例如:http://url.com/subdir/app/
现在,如果我这样做并设置构建配置 assetsPublicPath 以从该文件夹提供服务,所有资产都可以正常提供,但我的应用程序没有正确路由。 “主页”页面被路由到“catch-all”,任何进一步的路由都只是显示正常的白页 404。
这是我的路由器:
export default new Router({
mode: 'history',
routes: [
{
path: '/',
component: ContentView,
children: [
{
path: '/',
name: 'DataTable',
component: DataTable,
meta: { requiresAuth: true }
},
// ===================================
// Login
// ===================================
{
path: '/login',
name: 'AppLogin',
component: AppLogin,
meta: { checkAlreadyLoggedIn: true }
},
{
path: '/logout',
name: 'AppLogout',
component: AppLogout,
meta: { requiresAuth: true }
}
]
},
{
path: '*',
component: ContentView,
children: [
{
path: '/',
name: 'NotFound',
component: NotFound
}
]
}
]})
这里是必要的 config/index.js 更改:assetsPublicPath: '/subdir/app/'
在本地开发中,路线运行良好。但在登台服务器上,所有静态资产、内置的 JS 和 CSS 等都可以正常工作。然而,主场路线显示了包罗万象。我假设这是因为我的路线设置不正确,或者因为我需要做一些事情来从生产中的子目录提供服务。
【问题讨论】:
标签: javascript vue.js vue-router