今天在使用Pinia的使用时,碰到了一个bug:
(0 , _stores_token_js__WEBPACK_IMPORTED_MODULE_1__.useTokenStore) is not a function TypeError: (0 , _stores_token_js__WEBPACK_IMPORTED_MODULE_1__.useTokenStore) is not a function at eval (webpack-internal:///./src/utils/request.js:17:85) at async Axios.request (webpack-internal:///./node_modules/axios/lib/core/Axios.js:50:14) at async login (webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/testLogin.vue?vue&type=script&setup=true&lang=js:23:20) at Axios.request (webpack-internal:///./node_modules/axios/lib/core/Axios.js:54:41) at async login (webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/testLogin.vue?vue&type=script&setup=true&lang=js:23:20)
解释:
(0,_ stores _ token _ js _ _ web pack _ IMPORTED _ MODULE _ 1 _ _)。useTokenStore)不是函数 类型错误:(0,_ stores _ token _ js _ _ web pack _ IMPORTED _ MODULE _ 1 _ _。useTokenStore)不是函数 评估时(webpack-internal:///)。/src/utils/request.js:17:85) at async axios . request(web pack-internal:///)。/node _ modules/axios/lib/core/axios . js:50:14 异步登录时(webpack-internal:///。/node _ modules/babel-loader/lib/index . js??clonedRuleSet-40 . use【0】!。/node _ modules/vue-loader/dist/index . js??规则集【0】。使用【0】!。/src/views/testLogin.vue?vue & type = script & setup = true & lang = js:23:20) 位于axios . request(web pack-internal:///)。/node _ modules/axios/lib/core/axios . js:54:41) 异步登录时(webpack-internal:///。/node _ modules/babel-loader/lib/index . js??clonedRuleSet-40 . use【0】!。/node _ modules/vue-loader/dist/index . js??规则集【0】。使用【0】!。/src/views/testLogin.vue?vue & type = script & setup = true & lang = js:23:20)
这里表示,useTokenStore不是函数,问题应该出在useTokenStore当中
这里检验是否安装了pinia,安装了
移除值,修改值
引入pinia,没有出现错
这里看到了user.js接口中必须用引入store.js
也可以使用添加拦截器的写法:
这时候就不用写import了
但是仍然出现错误:
之后的解决方法是到CSDN上查:
(0 , _stores_token_js__WEBPACK_IMPORTED_MODULE_3__.useTokenStore) is not a function
这里出现在request.js中,可能是后端端口写错了
最后锁定在import 导入store文件当中
最后解决方案:
(0 , _stores_token_js__WEBPACK_IMPORTED_MODULE_3__.useTokenStore) is not a f