我遵循示例here,并具有以下TypeScript代码:
const { app, BrowserWindow, ipcMain } = require('electron');
let win;
function createWindow () {
// Create the browser window.
win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
})
// and load the index.html of the app.
win.loadFile('bin/js-debug/index.html')
// Open the DevTools.
//win.webContents.openDevTools()
// Emitted when the window is closed.
win.on('closed', () => {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
win = null
})
}
我将扩展名从.js更改为.ts,它开始显示错误。
我收到此警告:
变量“ win”在无法确定其类型的某些位置隐式地具有类型“ any”。ts(7034)
所以我试图像这样添加类型:
let win:BrowserWindow;
我收到此消息:
“ BrowserWindow”是指一个值,但此处被用作类型。
注意:
如果我将类型设置为任何类型,错误就会消失。
let win:any;
答案 0 :(得分:1)
使用打字稿时,您必须使用打字稿模块导入语法(类似于ESModule导入),否则打字稿将不会导入类型,并且将BrowserWindow视为通过require()
定义的变量
import { app, BrowserWindow, ipcMain } from 'electron'