From a8166b1bdb141bdb4625c4b1493a08209ded0ab5 Mon Sep 17 00:00:00 2001 From: 1549469775 <1549469775@qq.com> Date: Wed, 28 Jul 2021 14:21:12 +0800 Subject: [PATCH] bug fixed --- a.md | 7 ++- package-lock.json | 89 ++++++++++++++++++++++------------ package.json | 46 ++++++++++-------- resource/electron/static/icon.png | Bin 0 -> 7555 bytes script/build.js | 5 ++ script/build.ts | 24 --------- script/run.js | 23 ++++++--- script/webpack/runMain.js | 4 +- script/webpack/webpack.main.config.js | 10 ++-- src/main/index.ts | 19 +++++--- src/main/share/index.ts | 3 ++ src/render/index.html | 1 - src/render/main.tsx | 2 + src/render/views/Home/index.tsx | 3 ++ src/share/index.ts | 3 -- tsconfig.json | 2 +- types/global.d.ts | 2 + vite.config.ts | 17 +++++-- 18 files changed, 153 insertions(+), 107 deletions(-) create mode 100644 resource/electron/static/icon.png create mode 100644 script/build.js delete mode 100644 script/build.ts create mode 100644 src/main/share/index.ts delete mode 100644 src/share/index.ts diff --git a/a.md b/a.md index 3999d12..a78bee5 100644 --- a/a.md +++ b/a.md @@ -7,4 +7,9 @@ https://www.jianshu.com/p/4699b825d285 // ], - https://www.wyr.me/post/680 \ No newline at end of file + https://www.wyr.me/post/680 + + + https://github.com/webpack/webpack/issues/11767 + + https://vite-rollup-plugins.patak.dev/ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 11a08f3..ce04656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1500,6 +1500,35 @@ } } }, + "@rollup/plugin-replace": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/@rollup/plugin-replace/download/@rollup/plugin-replace-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40rollup%2Fplugin-replace%2Fdownload%2F%40rollup%2Fplugin-replace-3.0.0.tgz", + "integrity": "sha1-OkyWZdTnpM4sNgzwISMnhIkvP6w=", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz?cache=0&sync_timestamp=1626393703548&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40rollup%2Fpluginutils%2Fdownload%2F%40rollup%2Fpluginutils-3.1.0.tgz", + "integrity": "sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s=", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-1.0.1.tgz?cache=0&sync_timestamp=1611956983677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festree-walker%2Fdownload%2Festree-walker-1.0.1.tgz", + "integrity": "sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA=", + "dev": true + } + } + }, "@rollup/plugin-typescript": { "version": "8.2.3", "resolved": "https://registry.nlark.com/@rollup/plugin-typescript/download/@rollup/plugin-typescript-8.2.3.tgz", @@ -1674,7 +1703,7 @@ }, "@types/node": { "version": "15.14.3", - "resolved": "https://registry.nlark.com/@types/node/download/@types/node-15.14.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.14.3.tgz", + "resolved": "https://registry.nlark.com/@types/node/download/@types/node-15.14.3.tgz?cache=0&sync_timestamp=1627257813519&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-15.14.3.tgz", "integrity": "sha1-MwdjuXPQrKy3/czHWU4fsoHtGxw=", "dev": true }, @@ -4432,7 +4461,7 @@ }, "ejs": { "version": "3.1.6", - "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-3.1.6.tgz", + "resolved": "https://registry.nlark.com/ejs/download/ejs-3.1.6.tgz", "integrity": "sha1-W/0KBol0O7UmizVQzO7rvBcCgio=", "dev": true, "requires": { @@ -6233,7 +6262,7 @@ }, "jake": { "version": "10.8.2", - "resolved": "https://registry.npm.taobao.org/jake/download/jake-10.8.2.tgz?cache=0&sync_timestamp=1591684013969&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjake%2Fdownload%2Fjake-10.8.2.tgz", + "resolved": "https://registry.npm.taobao.org/jake/download/jake-10.8.2.tgz", "integrity": "sha1-68nehVgWCmbYLQ6txqLlj7xQCns=", "dev": true, "requires": { @@ -6286,7 +6315,7 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, @@ -7031,7 +7060,7 @@ }, "object.assign": { "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115158081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", + "resolved": "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz", "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", "dev": true, "requires": { @@ -7139,6 +7168,15 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, "p-map": { "version": "2.1.0", "resolved": "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", @@ -8971,19 +9009,10 @@ "dependencies": { "commander": { "version": "2.20.3", - "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1627358203890&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz", - "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", @@ -8997,7 +9026,7 @@ }, "terser": { "version": "5.7.1", - "resolved": "https://registry.nlark.com/terser/download/terser-5.7.1.tgz", + "resolved": "https://registry.nlark.com/terser/download/terser-5.7.1.tgz?cache=0&sync_timestamp=1624884102109&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser%2Fdownload%2Fterser-5.7.1.tgz", "integrity": "sha1-LcemEAm2a7Y4MFyyqCR2OxFr94Q=", "dev": true, "requires": { @@ -9008,7 +9037,7 @@ "dependencies": { "source-map": { "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", "dev": true } @@ -9561,7 +9590,7 @@ }, "vite": { "version": "2.4.3", - "resolved": "https://registry.nlark.com/vite/download/vite-2.4.3.tgz?cache=0&sync_timestamp=1626783291368&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvite%2Fdownload%2Fvite-2.4.3.tgz", + "resolved": "https://registry.nlark.com/vite/download/vite-2.4.3.tgz", "integrity": "sha1-/kqnjp3X02vLEuzL1SMTsmz633c=", "dev": true, "requires": { @@ -9657,9 +9686,9 @@ } }, "webpack": { - "version": "5.46.0", - "resolved": "https://registry.nlark.com/webpack/download/webpack-5.46.0.tgz", - "integrity": "sha1-EF0g2W9521mzFrCuVDFvD2MDFLU=", + "version": "5.47.0", + "resolved": "https://registry.nlark.com/webpack/download/webpack-5.47.0.tgz?cache=0&sync_timestamp=1627396117693&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack%2Fdownload%2Fwebpack-5.47.0.tgz", + "integrity": "sha1-PBOGK117QoeSv+dsX2eg9Dumhfg=", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -9684,7 +9713,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.2.0", - "webpack-sources": "^2.3.1" + "webpack-sources": "^3.0.1" }, "dependencies": { "@types/estree": { @@ -9705,14 +9734,10 @@ } }, "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-2.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-2.3.1.tgz", - "integrity": "sha1-Vw3grxY5Sf4nIjPCzv4bVvdFEf0=", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } + "version": "3.0.1", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.0.1.tgz", + "integrity": "sha1-UYz6vb3jli91u+y6zRHYirMgUlI=", + "dev": true } } }, @@ -9739,7 +9764,7 @@ "dependencies": { "commander": { "version": "7.2.0", - "resolved": "https://registry.nlark.com/commander/download/commander-7.2.0.tgz?cache=0&sync_timestamp=1624609539421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-7.2.0.tgz", + "resolved": "https://registry.nlark.com/commander/download/commander-7.2.0.tgz?cache=0&sync_timestamp=1627358203890&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-7.2.0.tgz", "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=", "dev": true } @@ -10331,7 +10356,7 @@ }, "websocket-driver": { "version": "0.7.4", - "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz", + "resolved": "https://registry.nlark.com/websocket-driver/download/websocket-driver-0.7.4.tgz", "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", "dev": true, "requires": { diff --git a/package.json b/package.json index 430eb0d..dbb0d18 100644 --- a/package.json +++ b/package.json @@ -4,10 +4,12 @@ "description": "description", "main": "dist/electron/entry.js", "scripts": { - "dev": "node script/run", + "dev": "node script/run.js", + "build": "node script/run.js --build", + "build:in": "npm run build:vite && node script/build.js && npm run package", + "buildaa": "npm run build:vite && ts-node -r tsconfig-paths/register script/build --env=production && npm run package", "webpack": "node script/webpack/runMain.js", "deva": "ts-node -r tsconfig-paths/register script/dev-runner --env=development --watch", - "build": "ts-node -r tsconfig-paths/register script/build --env=production && npm run package", "devaa": "npm run dev:all", "dev:all": "concurrently -n=vue,ele -c=green,blue \"npm run dev:vue\" \"npm run dev:ele\"", "dev:vue": "node script/before", @@ -16,7 +18,7 @@ "package": "electron-builder build --x64 --win", "packageaaa": "electron-forge package", "make": "electron-forge make", - "buildaa": "tsc && vite build", + "build:vite": "vite build", "serve": "vite preview" }, "keywords": [], @@ -31,37 +33,30 @@ "@rollup/plugin-commonjs": "^19.0.1", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.0.4", + "@rollup/plugin-replace": "^3.0.0", "@rollup/plugin-typescript": "^8.2.3", "@types/minimist": "^1.2.2", "@types/node": "^15.14.3", + "@types/react": "^17.0.0", + "@types/react-dom": "^17.0.0", + "@types/react-router-dom": "^5.1.7", + "@vitejs/plugin-react-refresh": "^1.3.1", + "axios": "^0.21.1", "babel-loader": "^8.2.2", "babel-minify-webpack-plugin": "^0.3.1", "cfonts": "^2.9.3", "chalk": "^4.1.1", + "classnames": "^2.3.1", "concurrently": "^6.2.0", "cross-env": "^7.0.3", "dotenv": "^10.0.0", "electron": "^13.1.7", "electron-builder": "^22.11.7", - "execa": "^5.1.1", - "node-loader": "^2.0.0", - "ts-loader": "^9.2.4", - "ts-node": "^10.1.0", - "tsconfig-paths": "^3.10.1", - "vite-plugin-html": "^2.0.7", - "vitejs-plugin-electron": "^0.1.3", - "webpack": "^5.46.0", - "webpack-cli": "^4.7.2", - "webpack-dev-server": "^3.11.2", - "@types/react": "^17.0.0", - "@types/react-dom": "^17.0.0", - "@types/react-router-dom": "^5.1.7", - "@vitejs/plugin-react-refresh": "^1.3.1", - "axios": "^0.21.1", - "classnames": "^2.3.1", "electron-squirrel-startup": "^1.0.0", + "execa": "^5.1.1", "i18next": "^20.3.4", "i18next-browser-languagedetector": "^6.1.2", + "node-loader": "^2.0.0", "react": "^17.0.0", "react-dom": "^17.0.0", "react-i18next": "^11.11.3", @@ -72,9 +67,17 @@ "redux-saga": "^1.1.3", "sass": "^1.35.1", "styled-jsx": "^3.4.4", + "ts-loader": "^9.2.4", + "ts-node": "^10.1.0", + "tsconfig-paths": "^3.10.1", "typescript": "^4.3.2", "vite": "^2.4.3", + "vite-plugin-html": "^2.0.7", "vite-plugin-windicss": "^1.2.0", + "vitejs-plugin-electron": "^0.1.3", + "webpack": "^5.47.0", + "webpack-cli": "^4.7.2", + "webpack-dev-server": "^3.11.2", "windicss": "^3.1.3" }, "dependencies": {}, @@ -109,10 +112,15 @@ } ] }, + "extraResources": { + "from": "src/preload", + "to": "src/preload" + }, "mac": { "icon": "build/icons/icon.icns" }, "win": { + "icon": "resource/electron/static/icon.png", "target": [ { "target": "nsis", diff --git a/resource/electron/static/icon.png b/resource/electron/static/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9e7ccc078807b4a98f1542a1c56e4d80c29611c2 GIT binary patch literal 7555 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 K#2dAT&;JhxCQA { - await tscCheck() - await buildVite() - await buildMain() - // await buildElectron() -})() diff --git a/script/run.js b/script/run.js index 37e7810..7493f27 100644 --- a/script/run.js +++ b/script/run.js @@ -1,8 +1,19 @@ const crossEnv = require("cross-env") +const minimist = require("minimist") +const {join} = require("path") -crossEnv([ - "NO=123", - "PORT=3344", - "NODE_ENV=development", - "ts-node -r tsconfig-paths/register script/dev-runner --watch" -]) +const argv = minimist(process.argv.slice(2)) + +if (argv.build) { + crossEnv([ + "NODE_ENV=production", + "npm run build:in" + ]) +} else { + crossEnv([ + `STATIC=${join(__dirname, '../resource/electron/static')}`, + "PORT=3344", + "NODE_ENV=development", + "ts-node -r tsconfig-paths/register script/dev-runner --watch" + ]) +} diff --git a/script/webpack/runMain.js b/script/webpack/runMain.js index 9d05001..63d1e15 100644 --- a/script/webpack/runMain.js +++ b/script/webpack/runMain.js @@ -43,7 +43,6 @@ function buildMain () { if (err) reject(err.stack || err) else if (stats.hasErrors()) { let err = '' - stats.toString({ chunks: false, colors: true @@ -54,7 +53,8 @@ function buildMain () { }) reject(err) - } else { + } + else { resolve(stats.toString({ chunks: false, colors: true diff --git a/script/webpack/webpack.main.config.js b/script/webpack/webpack.main.config.js index 6ef6b12..c541f19 100644 --- a/script/webpack/webpack.main.config.js +++ b/script/webpack/webpack.main.config.js @@ -17,7 +17,6 @@ let mainConfig = { ], module: { rules: [ - // { test: /\.ts?$/, loader: "ts-loader", exclude: /node_modules/ }, { test: /\.js$/, use: ['babel-loader'], @@ -55,12 +54,11 @@ let mainConfig = { target: 'electron-main' } -/** - * Adjust mainConfig for production settings - */ -if (process.env.NODE_ENV === 'production') { +if (process.env.NODE_ENV !== 'production') { mainConfig.plugins.push( - new MinifyPlugin() + new webpack.DefinePlugin({ + '__static': `"${process.env.STATIC.replace(/\\/g, '\\\\')}"` + }) ) } diff --git a/src/main/index.ts b/src/main/index.ts index 62a522b..e1e0030 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -2,7 +2,7 @@ * electron 主文件 */ // import "@src/common/patch" -import Shared from "../share" +import Shared from "./share" const { join } = require("path") const { app, BrowserWindow } = require("electron") @@ -12,33 +12,36 @@ Shared.data = { miniWindow: null, forceClose: false, } -console.log(23422); let isDev = process.env.NODE_ENV == "development" ? true : false if (!isDev) { - // global.__static = require('path') - // .join(__dirname, '/resource') - // .replace(/\\/g, '\\\\') + // @ts-ignore + global.__static = require("path").join(__dirname, "/static").replace(/\\/g, "\\\\") } -let win; +let win function createWin() { // 创建浏览器窗口dsaasdad + console.log(process.env.NODE_ENV); + console.log(__dirname); + console.log(join(__dirname, "../../src/preload/index.js")); + win = new BrowserWindow({ width: 1024, height: 768, + icon: __static + "/icon.png", webPreferences: { // 下面两个必须这么用,看a.md的文档 nodeIntegration: true, contextIsolation: false, - // preload: join(__dirname, "../../src/preload/index.js"), + preload: join(__dirname, "../../src/preload/index.js"), }, }) const URL = app.isPackaged - ? `file://${join(__dirname, "./index.html")}` // vite 构建后的静态文件地址 + ? `file://${__dirname}/index.html` // vite 构建后的静态文件地址 : `http://localhost:${process.env.PORT}/#/` // vite 启动的服务器地址 win?.loadURL(URL) diff --git a/src/main/share/index.ts b/src/main/share/index.ts new file mode 100644 index 0000000..2fb2575 --- /dev/null +++ b/src/main/share/index.ts @@ -0,0 +1,3 @@ +export default { + data: {} +} diff --git a/src/render/index.html b/src/render/index.html index 35c67c0..7339905 100644 --- a/src/render/index.html +++ b/src/render/index.html @@ -11,6 +11,5 @@
- diff --git a/src/render/main.tsx b/src/render/main.tsx index 78bf28b..a5fdda1 100644 --- a/src/render/main.tsx +++ b/src/render/main.tsx @@ -9,7 +9,9 @@ import electron from "@/plugins/electron" import Router from "./AppRouter"; +// 静态资源地址变量请用"__static",在html中使用请用__static console.log(electron); +console.log(__staticVar); ReactDOM.render( diff --git a/src/render/views/Home/index.tsx b/src/render/views/Home/index.tsx index 969da62..c732766 100644 --- a/src/render/views/Home/index.tsx +++ b/src/render/views/Home/index.tsx @@ -27,6 +27,9 @@ function Home(props: HomeProps) { 首页
关于
登录
+
+ +
) } diff --git a/src/share/index.ts b/src/share/index.ts deleted file mode 100644 index 2fb2575..0000000 --- a/src/share/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default { - data: {} -} diff --git a/tsconfig.json b/tsconfig.json index 0778a03..f282d1c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,7 +25,7 @@ "@root/*": ["./*"] }, }, - "include": ["src/render", "types"], + "include": ["src", "types"], "exclude": ["node_modules"], "ts-node": { "compilerOptions": { diff --git a/types/global.d.ts b/types/global.d.ts index 65c8e28..ef7c3c5 100644 --- a/types/global.d.ts +++ b/types/global.d.ts @@ -8,3 +8,5 @@ interface IAction extends IAny{ } +declare const __static: string; +declare const __staticVar: string; diff --git a/vite.config.ts b/vite.config.ts index ba9a91f..6c51237 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,18 +4,28 @@ import reactRefresh from "@vitejs/plugin-react-refresh" const { resolve, join } = require("path") import electron from "vitejs-plugin-electron" import { minifyHtml, injectHtml } from "vite-plugin-html" +import replace from '@rollup/plugin-replace'; -console.log(process.env.NO) let isDev = process.env.NODE_ENV === "development" +console.log('--->',process.env.STATIC); let plugins = [] -// plugins.push(electron()) +let staticPath = isDev? '/static': 'static' +plugins.push( + replace({ + preventAssignment: true, + "__static": staticPath, + "__staticVar": `"${staticPath}"` + // "__static": `file:///${process.env.STATIC.replace(/\\/g, '\\\\')}` + }) +) // https://vitejs.dev/config/ export default defineConfig({ root: resolve(__dirname, "src/render"), base: "./", + publicDir: resolve(__dirname, "resource/electron"), css: { preprocessorOptions: { scss: { @@ -50,8 +60,7 @@ export default defineConfig({ minifyHtml(), injectHtml({ injectData: { - title: "vite-plugin-htmlaa-example", - // injectScript: '', + title: "vite-plugin-htmlaa-example" }, }), ],