javascript - 如何将电子文件从“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;
解决方案
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。
推荐阅读
- c# - 按动态参数排序
- python - 朱莉娅中的分布式微积分与python导入代码:UndefVarError:__anon__未定义
- sql - 通过 SQL 中的多维查找填充列?
- c# - 应用程序卡在 File.OpenText()
- r - 错误:“desk”的包或命名空间加载失败:包“desk”是在 R 4.0.0 之前安装的:请重新安装
- r - 填写缺失的日期向前填写 R
- amazon-web-services - S3 对象与文件相同吗?
- amazon-cloudwatch - 确定哪些 SES 调用正在使用版本 2 签名登录
- amazon-web-services - 尝试在 localstack 上创建任何 terraform 资源时超时
- python - 循环键并添加缺失值