上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 李恒道 - 

vite-plugin-electron配置electron-builder使用prisma编译出错

[复制链接]
  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5959

    回帖

    6758

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6758

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-1-12 01:41:57 | 显示全部楼层 | 阅读模式

    我用的是electron-vite-plugin插件
    编译指令是 "build": "vue-tsc && vite build && electron-builder",
    先走一个vue-tsc然后vite打包,最后electron-builder执行
    而prisma是编译之后路径问题,无法正确找到路径
    根据尝试应该先要在vite里不打包然后在electron-build隔离出来
    首先配置vite.config.ts将prisma拉出来

    import { defineConfig } from "vite";
    import path from "node:path";
    import electron from "vite-plugin-electron/simple";
    import vue from "@vitejs/plugin-vue";
    
    // https://vitejs.dev/config/
    export default defineConfig({
      plugins: [
        vue(),
        electron({
          main: {
            // Shortcut of `build.lib.entry`.
            entry: "electron/main.ts",
            vite: {
              build: {
                rollupOptions: {
                  // Here are some C/C++ modules them can't be built properly
                  external: ["@prisma/client"],
                },
              },
            },
          },
          preload: {
            // Shortcut of `build.rollupOptions.input`.
            // Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`.
            input: path.join(__dirname, "electron/preload.ts"),
          },
          // Ployfill the Electron and Node.js built-in modules for Renderer process.
          // See 👉 https://github.com/electron-vite/vite-plugin-electron-renderer
          renderer: {},
        }),
      ],
    });
    

    图片.png
    然后就是如electron-builder的问题了,我找到了
    https://github.com/prisma/prisma/discussions/21027
    https://github.com/prisma/prisma/discussions/10562
    尝试在package.json配置

      "build": {
        "productName": "pName",
        "appId": "com.applhd.cc",
        "copyright": "lhd",
        "directories": {
          "output": "relase"
        },
        "extraResources": [
          "prisma/**/*",
          "node_modules/.prisma/**/*",
          "node_modules/@prisma/client/**/*"
        ]
      },

    成功build后启动没报错

    世界安静了...

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4189

    回帖

    4056

    积分

    管理员

    积分
    4056

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2024-1-12 09:51:58 | 显示全部楼层
    看看哥哥prisma怎么用的
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表