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"
}