右键菜单稍微修改了一下模版更新后的写法

来源:5-3 Dock菜单&右键菜单

weixin_慕运维7075718

2022-11-10 17:21:42

模版更新过了
有些许与之前不同的地方 我就按照最新的模版来了

preload 修正

  • preload/src/index.ts
/**
 * @module preload
 */
import {ipcRenderer} from 'electron';//引入ipcRender
import type {IpcRendererEvent} from 'electron';//引入type类型

const _ipcRenderer = {
  //暴露给渲染进程的方法
  on: (channel: string, listener: (event: IpcRendererEvent, ...args: any[]) => void) => {
    ipcRenderer.on(channel, listener);
  },
  send: (channel: string, ...args: any[]) => {
    ipcRenderer.send(channel, ...args);
  },
};

export {_ipcRenderer as ipcRenderer};//将_ipcRender 重命名为ipcRender
export {sha256sum} from './nodeCrypto';
export {versions} from './versions';

renderer

  • 这里写的#preload引用是因为在renderer/tsconfig.json里面声明了路径,并且在vite.config.js增加了插件引入了preload/src/index.ts
  • render/vite.config.js
...
  plugins: [
    vue(),
    renderer.vite({
      preloadEntry: join(PACKAGE_ROOT, '../preload/src/index.ts'),
    }),
  ],
...
  • render/ts.config.json
    "paths": {
      "#preload": ["../preload/src/index"],
    },
  • renderer/src/App.vue
...
<script setup>
import {ipcRenderer} from '#preload';
const {send, on} = ipcRenderer;
window.addEventListener('contextmenu', e => {
  e.preventDefault();
  send('show-context-menu');
});
on('context-menu-command', (event, args) => {
  console.log(event, args);
});
</script>
...
写回答

1回答

Brian

2022-11-13

设置了精华问题


https://github.com/cawa-93/vite-electron-builder


加油,小伙伴~

0

大前端2022版

1个业务场景打通全端、全栈、全流程,实现全局思维与综合技术能力全面突破;对标阿里P6,8个月成为前端高级人才

2840 学习 · 691 问题

查看课程