ES6/Typescript导入:导入*和同一行中的名称 [英] ES6/Typescript import: import * and names on a single line
问题描述
如何在1行上写出来?
import * as Express from 'express';
import { Application, NextFunction, Request, Response } from 'express';
您的开发者丹
推荐答案
import
和export
具有受限制的语法,可以对其进行静态分析:
import
and export
have restricted syntax that allows to statically analyze them:
文档中列出的内容:
从模块名称"导入defaultMember;
import defaultMember from "module-name";
从模块名称"中导入*作为名称;
import * as name from "module-name";
从模块名称"导入{成员};
import { member } from "module-name";
从模块名称"导入{成员作为别名};
import { member as alias } from "module-name";
从模块名称"导入{member1,member2};
import { member1 , member2 } from "module-name";
从模块名称"导入{member1,member2作为alias2,[...]};
import { member1 , member2 as alias2 , [...] } from "module-name";
从模块名称"导入defaultMember,{成员[,[...]]};
import defaultMember, { member [ , [...] ] } from "module-name";
导入defaultMember,*作为模块名称"中的名称;
import defaultMember, * as name from "module-name";
导入模块名称";
可以看出,没有import * as name, { member } from "module-name"
,因此不受支持.
As it can be seen, there's no import * as name, { member } from "module-name"
, so it isn't supported.
之所以不受支持,是因为import * as name, { member } from "module-name"
是可互换的.它要么一一导入成员,要么作为name
命名空间导入.
The reason why it isn't supported is because import * as name, { member } from "module-name"
are interchangeable. It's either importing members one by one or as name
namespace.
如果由于某种原因同时使用两者,则应为:
If both should be used for some reason, it should be:
import * as Express from 'express';
import { Application, NextFunction, Request, Response } from 'express';
或者,如果导出是实变量而不是类型/接口,则可以是:
Or if exports are real variables and not types/interfaces, it can be:
import * as Express from 'express';
const { Application, NextFunction, Request, Response } = Express;
这篇关于ES6/Typescript导入:导入*和同一行中的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!