我怎么能在一行写这个?
import * as Express from 'express';
import { Application, NextFunction, Request, Response } from 'express';
你的Dan the Dev
答案 0 :(得分:6)
import
和export
的语法限制允许对其进行静态分析:
如the documentation中所列:
从“module-name”导入defaultMember;
从“module-name”导入*作为名称;
从“module-name”导入{member};
从“module-name”导入{member as alias};
从“module-name”导入{member1,member2};
从“module-name”导入{member1,member2 as alias2,[...]};
从“module-name”导入defaultMember,{member [,[...]]};
导入defaultMember,*作为“module-name”的名称;
import“module-name”;
可以看出,没有import * as name, { member } from "module-name"
,所以不支持。
不支持它的原因是因为import * as name, { member } from "module-name"
可以互换。它要么逐个导入成员,要么导入name
命名空间。
如果由于某种原因应该使用两者,那应该是:
import * as Express from 'express';
import { Application, NextFunction, Request, Response } from 'express';
或者,如果导出是真实变量而不是类型/接口,则可以是:
import * as Express from 'express';
const { Application, NextFunction, Request, Response } = Express;