javascript - 构建后在电子 js 中找不到模块
问题描述
构建后无法运行应用程序。获取找不到模块。
const { app, BrowserWindow,Menu } = require('electron') const path = require("path"); const isDev = require("electron-is-dev"); 要求('../build/static/js/main.js'); // require(path.join(__dirname, "../build/static/js/main.js")) let addItem ; 让胜利;function createWindow () { win = new BrowserWindow({ width: 800, height: 600, icon:"build/icon.ico", webPreferences: { nodeIntegration: true, // webSecurity: false } })
win.loadURL(isDev? "http://localhost:3000":
file://${path.join(__dirname, "../build/index.html")}
); win.on("关闭", () => (mainWindow = null));const mainMenu = Menu.buildFromTemplate(menuTemplate);
Menu.setApplicationMenu(mainMenu); // win.webContents.openDevTools()win.on("关闭",()=>app.quit()) }
function createAddItemWindow () { addItem = new BrowserWindow({ width: 400, height: 300, title:'添加项目', webPreferences: { nodeIntegration: true } })
addItem.loadURL(isDev? "http://localhost:3000/fromadress":
file://${path.join(__dirname, "../build/index.html")}
);if(process.env.NODE_ENV === 'production') { addItem.setMenu(null)
}
addItem.on('close',()=>addItem=null)
} // app.whenReady().then(createWindow); app.once('准备好',()=>{
createWindow() })const menuTemplate=[ { label:'File', submenu:[ { label:'add From address', click(){ createAddItemWindow() } }, { label:'Quit', actuator:process.platform==='darwin '?'Command+Q':'Control+Q', click(){ app.quit();
} } ] }
]
if(process.platform==="darwin") { menuTemplate.unshift({}) }
if(process.env.NODE_ENV !== 'production') { menuTemplate.push({ label:'View', submenu:[ { role:'reload' }, { label:'Developer Toll', 加速器:process.platform ==='darwin'?'Command+I':'Control+I', click(item,windowsfocused) { windowsfocused.toggleDevTools() } } ] }) }
app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } })
这是 package.json
{
"name": "SmallBusinessManagement",
"version": "0.1.0",
"private": true,
"dependencies": {
"@date-io/date-fns": "^1.3.13",
"@material-ui/core": "^4.11.3",
"@material-ui/lab": "^4.0.0-alpha.57",
"@material-ui/pickers": "^3.2.10",
"@testing-library/jest-dom": "^5.11.5",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"bootstrap": "^4.5.3",
"cross-env": "^7.0.2",
"date-fns": "^2.16.1",
"electron-build": "0.0.3",
"electron-is-dev": "^1.2.0",
"jquery": "^3.5.1",
"jspdf": "^2.1.1",
"jspdf-autotable": "^3.5.13",
"knex": "^0.21.12",
"moment": "^2.29.1",
"popper.js": "^1.16.1",
"react": "^17.0.1",
"react-build": "^1.0.8",
"react-dom": "^17.0.1",
"react-popper": "^2.2.4",
"react-redux": "^7.2.2",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.0",
"redux": "^4.0.5",
"redux-devtools-extension": "^2.13.8",
"redux-thunk": "^2.3.0",
"sqlite3": "^5.0.0",
"wait-on": "^5.2.0",
"web-vitals": "^0.2.4"
},
"scripts": {
"postinstall": "electron-builder install-app-deps",
"dist": "electron-builder",
"pack": "electron-builder --dir",
"react-start": "react-scripts start",
"react-build": "react-scripts build",
"react-test": "react-scripts test",
"react-eject": "react-scripts eject",
"electron-build": "electron-builder",
"build": "yarn react-build && yarn electron-build",
"release": "npm react-build && electron-builder --publish=always",
"start": "concurrently \"cross-env BROWSER=none yarn react-start\" \"wait-on http://localhost:3000 && electron .\""
},
"build": {
"productName": "SmallBussinessManagement",
"appId": "com.smallbusinessmanagement",
"files": [
"*.js",
"build",
"node_modules"
],
"dmg": {
"contents": [
{
"x": 110,
"y": 150
},
{
"x": 240,
"y": 150,
"type": "link",
"path": "/Applications"
}
]
},
"win": {
"target": "NSIS",
"icon": "build/icon.ico"
},
"directories": {
"buildResources": "resources",
"output": "release"
}
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"description": "Small business management is used to manage daily sell and buy.",
"author": "rakshithgowda KV",
"main": "public/electron.js",
"homepage": "./",
"devDependencies": {
"electron": "latest",
"electron-builder": "^22.9.1"
}
}
解决方案
推荐阅读
- multithreading - 多生产者多消费者队列中的队列覆盖
- java - JSON通过坐标获取地址
- reactjs - 只有在道具中满足某些条件时才添加 HoC
- python - 使用 scipy.signal.spectrogram 在 pyqtgraph 中绘制 wavfile 的频谱
- c# - 带有实体框架 6 的 MySql:子表的二进制(18)到字节 [] 转换失败
- json - 为什么这个 JSON 对象会针对这个 JSON 模式进行验证?
- c# - c# 中的 Windows 窗体应用程序用于在线/离线数据更新
- javascript - addEventListener:为什么我不能用“keydown”替换“mousedown”?
- java - 为什么我会收到 Json Malformed Exception
- r - 在 HTML kable 表中打印换行符