将多个导入组合成一个打字稿

Combining multiple imports into one typescript

我想从 firebase-admin 中导入如下内容,但 TypeScript 不允许我这样做:

import * as firebase from 'firebase-admin';
import * as admin from 'firebase-admin';

我遇到了以下错误:

ERROR: 17:1   no-duplicate-imports  Multiple imports from 'firebase-admin' can be combined into one.

我尝试使用以下方法,但 none 有效:

import * as firebase, admin from 'firebase-admin';
import * as firebase, * as admin from 'firebase-admin';

有什么方法可以在 TypeScript 中将这两个一起导入吗?

只导入一次,另一个放在常量中

import * as firebase from 'firebase-admin';
const admin = firebase

您不能从同一模块添加多个导入语句。您可以做的是导入一次并使用该常量从同一个模块访问不同的模块。

请参考以下内容,因为 es 不允许多次导入

https://eslint.org/docs/rules/no-duplicate-imports

让我们记住一个基本原则separation of concerns。 让我们从重构文件结构开始

- src
-- firebase
---- admin.js
---- regular.js
---- visitor.js
---- index.js

然后在 index.js 上,你可以有一些像:

import * as admin from "./admin";
import * as regular from "./regular";
import * as visitor from "./visitor";

export const firebase = {
  admin, regular, visitor
};