Javascript 重新加载或直接链接后,VueJS无法获取路径
我的VueJS(或我的大脑)有问题。好啊我有vuejs网页包项目和此路由器:Javascript 重新加载或直接链接后,VueJS无法获取路径,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我的VueJS(或我的大脑)有问题。好啊我有vuejs网页包项目和此路由器: import Vue from 'vue' import Router from 'vue-router' import Main from '@/components/Main' import CreateTravel from '@/components/CreateTravel' import TravelDetail from '@/components/TravelDetail' import Friends
import Vue from 'vue'
import Router from 'vue-router'
import Main from '@/components/Main'
import CreateTravel from '@/components/CreateTravel'
import TravelDetail from '@/components/TravelDetail'
import Friends from '@/components/Friends'
import UserTravels from '@/components/UserTravels'
import User from '@/components/User'
import Settings from '@/components/Settings'
import UserActivate from '@/components/UserActivate'
Vue.use(Router);
export default new Router({
mode: 'history',
routes: [
{
path: '/user/activate/:secret',
name: 'UserActivate',
component: UserActivate
},
{
path: '/',
name: 'Main',
component: Main
},
{
path: "/create",
name: "Create",
component: CreateTravel
},
{
path: "/travel/:id",
name: "Travel",
component: TravelDetail
},
{
path: "/friends",
name: "Friends",
component: Friends
},
{
path: '/user/:id',
name: 'User',
component: User,
children: [
{
path: 'travels',
name: 'UserTravels',
component: UserTravels
}
]
},
{
path: '/settings',
name: 'Settings',
component: Settings
}
]
})
和main.js:
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import VeeValidate from 'vee-validate';
import VueResource from 'vue-resource';
Vue.use(VeeValidate);
Vue.use(VueResource);
Vue.config.productionTip = false;
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: {App}
});
//要使用“import”命令加载的Vue生成版本
//(仅限运行时或单机版)已在webpack.base.conf中使用别名设置。
从“Vue”导入Vue
从“./App”导入应用程序
从“./路由器”导入路由器
从“vee validate”导入vee validate;
从“vue资源”导入VueResource;
Vue.使用(验证);
Vue.use(VueResource);
Vue.config.productionTip=false;
/*eslint禁用无新*/
新Vue({
el:“#应用程序”,
路由器,
模板:“从电子邮件我看”无法获取/user/activate/73e7bcfa-a9d2-4d32-8ddc-697a82bf6363。在控制台浏览器中,下一步:
361d711d-05ef-4c5e-944a-7e511ba104ab:1 GET 404(未找到)。感谢您的帮助有关于UserActivate组件的代码吗?是的。@csAnonymous有什么想法吗?这与Vue或javascript完全无关。您没有将服务器设置为处理这样的请求。您所需要做的只是让服务器响应登录页(index.js)对于每个请求(当然是静态资产),以便Vue应用程序可以引导和启动路由。如果不这样做,您唯一的选择是使用哈希模式:http://localhost:8080/#/user/activate/73e7bcfa-a9d2-4d32-8ddc-697a82bf6363
@dfsq谢谢。哈希模式对我有效!有UserActivate组件的代码吗?有。@csanonymous有什么想法吗?与Vue或javascr无关ipt。您没有将服务器设置为处理这样的请求。您需要做的只是让服务器对每个请求(当然是静态资产)都使用登录页(index.js)进行响应,以便Vue应用程序可以引导和启动路由。如果不这样做,您唯一的选择是使用哈希模式:http://localhost:8080/#/user/activate/73e7bcfa-a9d2-4d32-8ddc-697a82bf6363
@dfsq谢谢。哈希模式适合我!