如何将电子文件从“需要”转换为“导入”以与 TypeScript 一起使用?角2+

phy*_*boy 2 javascript typescript electron angular

我遵循了官方的 Electron 教程以及其他一些在线教程,并在我的目录中创建了关联的文件。但是,教程中显示的文件是JavaScript而不是TypeScript,因为我在 Angular 中使用了它。

有什么方法可以将我创建的文件从使用转换require为实际使用import它们吗?

电子入门指南

我过去曾看到过做类似的事情import * as component from './...',但我不确定从同一来源导入多个组件,例如:

const {app, BrowserWindow} = require('electron');

ElectronStart.tsmain.js教程中调用了这个,但是Angular-CLI已经有这个名字的文件了)

const {app, BrowserWindow} = require('electron');
const path = require('path');
Run Code Online (Sandbox Code Playgroud)

设置事件.ts

const electron = require('electron');
const ChildProcess = require('child_process');
 module.exports = {
    ...
 }
Run Code Online (Sandbox Code Playgroud)

创建安装程序.ts

const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller;
Run Code Online (Sandbox Code Playgroud)

Tom*_*hut 5

const {app, BrowserWindow} = require('electron');
Run Code Online (Sandbox Code Playgroud)

相当于

import { app, BrowserWindow } from 'electron';
Run Code Online (Sandbox Code Playgroud)

然而

const electron = require('electron');
Run Code Online (Sandbox Code Playgroud)

相当于

import * as electron from 'electron';
Run Code Online (Sandbox Code Playgroud)

const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller;
Run Code Online (Sandbox Code Playgroud)

应该可以重写为

import { createWindowsInstaller } from 'electron-winstaller';
Run Code Online (Sandbox Code Playgroud)

至少在 Angular 6.1 和 TypeScript 2.9 中已经确认它的行为是这样的。使用以前的 TS 版本可能会出现一些小问题,因为它们最近改进了互操作性。

无论如何,在使用 Electron 加载之前,您需要设置另一个构建管道来将 TS 编译为 JS。