TypeScript/Electron.js 中导入的问题

ale*_*tch 5 javascript import electron

我有一个文件index.ts

import { app, BrowserWindow } from 'electron'
let win

app.on('ready', () => {
  win = new BrowserWindow({
    minHeight: 640,
    minWidth: 480,
    frame:false
  })
  win.loadFile('index.html')
})
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用:运行npm start,则会出现错误:

import { app, BrowserWindow } from 'electron'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1051:16)
    at Module._compile (internal/modules/cjs/loader.js:1101:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1166:10)
    at Module.load (internal/modules/cjs/loader.js:981:32)
    at Module._load (internal/modules/cjs/loader.js:881:14)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at loadApplicationPackage (D:\VS Projects\Electron App\node_modules\electron\dist\resources\default_app.asar\main.js:109:16)
    at Object.<anonymous> (D:\VS Projects\Electron App\node_modules\electron\dist\resources\default_app.asar\main.js:155:9)
    at Module._compile (internal/modules/cjs/loader.js:1145:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1166:10)
Run Code Online (Sandbox Code Playgroud)

我的package.json

{
  "name": "electron-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.ts",
  "dependencies": {
    "electron": "^10.1.2"
  },
  "devDependencies": {},
  "scripts": {
    "start": "electron .",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "type": "module"
}

Run Code Online (Sandbox Code Playgroud)

我怎样才能解决它?

Chr*_*ort 4

看起来您正在尝试将 TypeScript 与 Electron 一起使用。Electron 有可用的类型,但它并不直接支持开箱即用地执行 TypeScript。您将需要执行一些额外的步骤才能使事情正常运行。这有点超出了答案的范围,并且需要更多的教程或示例,因此我将为您提供来自 GitHub 的示例。

您可以在此处查看 TypeScript 和 Electron 入门示例。