请教大佬们在使用 electron 对 Vue 项目打包成 exe 的问题?

查看 70|回复 6
作者:godleon   
环境
vue2
electron 25.2.0
node 14
electron-store 8.1.0
问题
我使用 electron 对一个 Vue 项目打包成 exe 程序时,按照官方文档已经完全配置好,然后打包成功,但是我在运行 exe 程序的时候,会出现 token 一直丢失的问题。代码里拦截请求,然后登录拿到 token 加到请求头里
1.使用 cooike ,不能登录
2.使用 localstorage ,可以登录到首页,调其他接口又会丢失
查询资料里,建议使用 electron-store,我参考官方文档配置好后,代码不能正常启动

我的代码:
const Store = require('electron-store');
const eStore = new Store();
/**
* 请求拦截
*/
http.interceptors.request.use(config => {
  config.headers['token'] = eStore.get('token')
  // config.headers['token'] = Vue.cookie.get('token')
  return config
}, error => {
  return Promise.reject(error)
})
报错信息
ERROR  Failed to compile with 1 errors                                                                                                                                                            下午 6:32:55
error  in ./node_modules/electron-store/index.js
Module parse failed: D:\money\counter\v1.7\counter-fast\counter-vue\node_modules\electron-store\index.js Unexpected token (53:3)
You may need an appropriate loader to handle this file type.
|               options = {
|                       name: 'config',
|                       ...options
|               };
|
@ ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/views/common/login.vue 87:26-51
@ ./src/views/common/login.vue
@ ./src/views ^\.\/.*\.vue$
@ ./src/router/import-development.js
@ ./src/router/index.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://localhost:8001 webpack/hot/dev-server babel-polyfill ./src/main.js
ps
一名后端仔,请教一下这是什么原因造成的,看源码他应该会找 appData 下的 userData.json ,文件来存储,但是没找到这个文件,我建了个文件也是这个错 不太理解...

src, Vue, error

henyi2211   
换 electron-builder 试试,没用过 electron-store 没啥建议可提供
musi   
只看你 get 没看你 set ,数据从哪来?
godleon
OP
  
@musi 现在的情况是 我只写 const Store = require('electron-store'); const eStore = new Store(); 就启动不起来
musi   
@godleon 贴一下你的 babel 版本,看起来是 babel 不支持展开语法,但是为什么你的 Node 代码都需要 bable 编译?
godleon
OP
  
"babel-core": "6.22.1",
"babel-eslint": "7.1.1",
"babel-jest": "21.0.2",
"babel-loader": "7.1.1",
"babel-plugin-dynamic-import-node": "1.2.0",
"babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
"babel-plugin-transform-runtime": "6.22.0",
"babel-preset-env": "1.3.2",
"babel-preset-stage-2": "6.22.0",
"babel-register": "6.22.0",
@musi
L3ve   
问题应该是,electron-store 是后端模块,但是你 babel 去编译了它,这个应该是你整个构建流程有问题,本质上即使后端需要编译,也不应该去编译 node_modules 里的东西
您需要登录后才可以回帖 登录 | 立即注册

返回顶部