我想从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.
我尝试使用以下,但没有一个工作:
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
};