项目运行在浏览器端口上的问题
npm run dev运行项目
我们来看看 项目运行在electron上和浏览器端口9080上的情况:
-
运行在electron上:
-
运行在浏览器端口http://localhost:9080上:
报错了 原因:如果要迁移项目到web端,就需要把项目中的electron提供的API和node的API完全剥离出来,只能遗留web的代码,比如 node fs模块,electron提供ipc 模块,都需要剥离。
web端一律不能使用 node fs模块,electron提供ipc
如果你一开始就打算双端程序,在开始写代码时应该对web代码和elecctron的代码进行分离,以便后期的迁移。
项目运行处理
- 进入渲染进程的main.js,对运行环境进行处理
当运行环境是桌面端时,动态引入ipc 和 fs
- 进入store文件夹的index.js 把用到electron ipc的相关代码都注释
这里的createPersistedState, createSharedMutations两个插件是electron提供的
- createPersistedState ——[数据持久化插件]
- createSharedMutations——[在标签/窗口之间共享Vuex mutations插件]
注释这两个插件
- 进入项目依赖配置文件package.json中添加web端运行脚本
- 进入dev-runner.js开发运行配置(.electron-vue\dev-runner.js)
其中DEV_TARGET值是package.json里通过npm run web脚本传递过来的参数取到的
- 重启项目,运行命令
npm run web运行web端的
其他需要注意的是:如果项目无法正常运行在浏览器端,请确认项目中的关于node api使用的地方和electron ipc使用的地方是否都注释掉或者进行判断处理了