【问题标题】:Electron opening multiple windows package.json tweak电子打开多个窗口 package.json 调整
【发布时间】:2019-12-18 04:38:49
【问题描述】:

这是我在package.json 文件中的脚本。出于某种原因,它打开了多个电子窗口。我该如何解决这个问题?

"startRender": "cross-env BROWSER=none npm run react-start",
"startElectron": "concurrently \"tsc ./electron/electron.ts -w\"  \"nodemon --exec 'wait-on http://localhost:3000 && electron electron/electron.js'\"",
"start": "concurrently \"npm run startElectron\"   \"npm run startRender\""

我的项目文件夹结构是这样的:

.
├── electron
│   ├── electron.js
│   ├── electron.ts
│   ├── ipcEvents.js
│   ├── ipcEvents.ts
│   ├── messageSender.ts
│   ├── socketEvents.js
│   ├── socketEvents.ts
│   ├── Utils.ts
│   ├── windowEvents.js
│   └── windowEvents.ts
├── node_modules
├── package.json
├── package-lock.json
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
├── src
│   ├── App.tsx
│   ├── index.css
│   ├── index.tsx
│   ├── react-app-env.d.ts
│   └── serviceWorker.ts
├── tsconfig.json

【问题讨论】:

    标签: node.js electron package.json


    【解决方案1】:

    这就是我的脚本查找electron with typescript and react 的方式。最好将已编译的 .ts 文件放到单独的文件夹中。我将其命名为build

    "scripts": {
        "react-start": "react-scripts start",
        "compile-electron": "tsc --module commonjs --noEmit false",
        "start": "concurrently \"cross-env BROWSER=none npm run react-start\" \"wait-on http://localhost:3000  && npm run compile-electron && electron ./build/electron.js\""
    },
    

    这是 tsconfig.json 的样子:

    "compilerOptions": {
        "module": "esnext",
        "esModuleInterop": true,
        "target": "es6",
        "pretty": true,
        "strict": true,
        "moduleResolution": "node",
        "sourceMap": true,
        "outDir": "build",
        "lib": [
          "dom",
          "dom.iterable",
          "esnext"
        ],
        "allowJs": true,
        "skipLibCheck": true,
        "allowSyntheticDefaultImports": true,
        "forceConsistentCasingInFileNames": true,
        "resolveJsonModule": true,
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "preserve"
      },
      "include": [
        "electron/**/*.ts"
      ]
    }
    

    【讨论】:

    • 能否请您显示脚本以包括在对 *.ts 文件的文件更改时自动重新加载。您的脚本不包括自动重新加载
    • 目前我没有在我的代码中进行任何重新加载。顺便说一句,上面的代码是否解决了打开多个窗口的问题?
    • 我正在寻找一种解决方案,以保留我在问题中显示的脚本的功能并解决问题。
    • 当前上述脚本仅针对反应更改重新加载。
    猜你喜欢
    • 2015-06-29
    • 1970-01-01
    • 2013-09-18
    • 2019-03-26
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多