首页 > 解决方案 > 构建后在电子 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"
  }
}

在此处输入图像描述

标签: javascriptsqliteelectronelectron-builder

解决方案


推荐阅读