electron-vue项目笔记6——使项目运行在浏览器端口上

4,860 阅读1分钟

项目运行在浏览器端口上的问题

  1. 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的代码进行分离,以便后期的迁移。

项目运行处理

  1. 进入渲染进程的main.js,对运行环境进行处理

当运行环境是桌面端时,动态引入ipc 和 fs

  1. 进入store文件夹的index.js 把用到electron ipc的相关代码都注释

这里的createPersistedState, createSharedMutations两个插件是electron提供的

  • createPersistedState ——[数据持久化插件]
  • createSharedMutations——[在标签/窗口之间共享Vuex mutations插件]

注释这两个插件

  1. 进入项目依赖配置文件package.json中添加web端运行脚本

  1. 进入dev-runner.js开发运行配置(.electron-vue\dev-runner.js)

其中DEV_TARGET值是package.json里通过npm run web脚本传递过来的参数取到的

  1. 重启项目,运行命令 npm run web运行web端的

其他需要注意的是:如果项目无法正常运行在浏览器端,请确认项目中的关于node api使用的地方和electron ipc使用的地方是否都注释掉或者进行判断处理了