ES6/Typescript导入:导入*和同一行中的名称 [英] ES6/Typescript import: import * and names on a single line

查看:117
本文介绍了ES6/Typescript导入:导入*和同一行中的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在1行上写出来?

import * as Express  from 'express';
import { Application, NextFunction, Request, Response } from 'express';

您的开发者丹

推荐答案

importexport具有受限制的语法,可以对其进行静态分析:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆