Vue.js 在JavaScript文件中导入Vue路由器会导致“模块解析失败”错误
我试图访问axios拦截器中的路由器,但当我将该文件导入.js axios文件时,错误模块解析失败:意外令牌1:0 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。看见https://webpack.js.org/conceptsloaders >发生 以下是router.js文件的示例:Vue.js 在JavaScript文件中导入Vue路由器会导致“模块解析失败”错误,vue.js,axios,vue-router,loader,Vue.js,Axios,Vue Router,Loader,我试图访问axios拦截器中的路由器,但当我将该文件导入.js axios文件时,错误模块解析失败:意外令牌1:0 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。看见https://webpack.js.org/conceptsloaders >发生 以下是router.js文件的示例: import Vue from "vue"; import Router from "vue-router"; Vue.use(Router); const router =
import Vue from "vue";
import Router from "vue-router";
Vue.use(Router);
const router = {
base: process.env.BASE_URL,
routes: [
{
path: "/settings",
name: "settings",
component: require('@/views/Settings.vue'),
}
]
};
export default new Router(router);
拦截器文件包含:
import router from './router';
为什么使用require“@/views/Settings.vue”
相反,尝试使用导入功能
从“Vue”导入Vue;
从“vue路由器”导入路由器;
Vue.useRouter;
常数路由器={
base:process.env.base\u URL,
路线:[
{
路径:'/settings',
名称:'设置',
组件:=>导入“@/views/Settings.vue”,
},
],
};
导出默认的新Routerrouter;
附:回答你的评论。
在main.js文件中导出实例变量:
从“Vue”导入Vue;
从“/App.vue”导入应用程序;
从“./router”导入路由器;
Vue.config.productionTip=false;
让vm=新Vue{
路由器,
render:h=>hApp,
}.$mount'app';
导出默认vm;//这里的提示
在axios.js文件中,导入main.js并访问$router:
从“/main.js”导入vm;
...
//你的拦截器
vm.$router.push{name:'settings'};
...
我以前尝试过,但它导致了相同的问题。代码不是我的,但主要思想是我正在使用axios.create创建一个实例,并使用instance.interceptors.response.usefunction response{…}侦听响应在某些情况下,我必须更改路由。为什么要更改Axios文件中的路由?如果用户位于其他页面,并且在此期间发送了特定响应,我希望将其重定向到主页。此答案是否解决了您的问题?请接受这个答案,这将帮助其他人。