首页 > 解决方案 > 如何将电子文件从“require”转换为“import”以与 TypeScript 一起使用?角2+

问题描述

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

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

电子入门指南

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

const {app, BrowserWindow} = 要求('电子');

electronStart.ts(在教程中调用main.js,但已经有一个由 Angular-CLI 生成的同名文件)

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

设置事件.ts

const electron = require('electron');
const ChildProcess = require('child_process');
 module.exports = {
    ...
 }

createInstaller.ts

const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller;

标签: javascriptangulartypescriptelectron

解决方案


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

相当于

import { app, BrowserWindow } from 'electron';

然而

const electron = require('electron');

相当于

import * as electron from 'electron';

const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller;

应该可以重写为

import { createWindowsInstaller } from 'electron-winstaller';

已确认它至少在 Angular 6.1 中的行为与 TypeScript 2.9 一样。对于以前的 TS 版本,可能存在一些小问题,因为它们最近改进了互操作性。

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


推荐阅读