Javascript TypeScript/Electron.js中的导入问题

Javascript TypeScript/Electron.js中的导入问题,javascript,import,electron,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') }) 如果我尝试使用以下命令运行:npm start,我会遇到一个错

我有一个文件
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')
})
如果我尝试使用以下命令运行:
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)

如何解决这个问题?

Electron在node.js中运行,node.js在后面并使用commonjs导入语法

要进口,我们需要:

const{app}=require(“电子”);
//相当于
从“electron”导入{app}
要出口,我们需要:

module.exports=app;
//相当于
导出默认应用程序;

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


您可以查看使用TypeScript和Electron的入门示例。

Electron不能使用导入语句。它使用基于Nodejs的环境,不支持此语法。您必须使用require。请参阅电子版的页面。对不起,我搞错了!它不是JS,我用的是带有electron的Typescript。那个额外的设置是什么?好的,至少是一些。。。谢谢,克里斯!你可以这样回答
{
  "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"
}