javascript - 如何将 Electron 文件从 'require' 转换为 'import' 以与 TypeScript 一起使用? Angular 2+

标签 javascript angular typescript electron

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

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

Electron getting started guide

我过去见过类似 import * as component from './...' 的做法,但我不确定是否从同一源导入多个组件,例如:

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

electronStart.ts(在教程中称为 main.js,但 Angular-CLI 已经生成了一个同名的文件)

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

setupEvents.ts

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

createInstaller.ts

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

最佳答案

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。

关于javascript - 如何将 Electron 文件从 'require' 转换为 'import' 以与 TypeScript 一起使用? Angular 2+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002496/

相关文章:

javascript - 动态单词交换动画

javascript - TextArea 中的 For-Each 循环

javascript - 如何在 R 中的 javascript 代码中更改动画速度?

typescript - 如何配置 vite/rollup 以从我的客户端代码中排除 firebase-admin?

typescript - Typescript 中 Jest 中默认导出类的模拟方法

javascript - 如何根据某个属性的值将元素数组拆分为组?

javascript - 在 Safari 上退出全屏切换空间时 RequestAnimationFrame 不工作

javascript - Angular 2 ngClass 未在 View 上更新

angular - 如何在 Angular 2最终版本的路由之间传递数据对象

linux - 如何从 Bash 脚本运行 npm 或 angular 2 ng serve 命令?