ES6,Typescripts,如何正确import express?

使用Typescripts,在导入模块时,常常出一些难以理解的简单错误。下面就给出标准答案,让你在 import 模块的时候不再迷惑。

1. 标准做法

import { Request, Response, Application } from 'express';
import express = require('express');

var app: Application = express();

app.get('/', function (req: Request, res: Response) {
  res.send('Hello World')
});

app.listen(3000);

2. 默认导出

另外一个简化方法,让你可以使用默认导出。首先在 tsconfig.json 中进行设置:

// tsconfig.json
{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,     /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
  }
}

然后你就可以这样导入:

import express from 'express' 
var app = express();

来源:https://stackoverflow.com/a/55523133/3054511

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6(ECMAScript 2015)是JavaScript的一个重要,引入了许多新的语法和功能。以下是ES6的一些主要特性: 1. 块级作用域:引入了let和const关键字,可以在块级作用域中声明变量,解决了var关键字的作用域问题。 2. 箭头函数:使用箭头(=>)定义函数,简化了函数的写法,并且自动绑定了this。 3. 默认参数:函数参数可以设置默认值,简化了函数调用时的参数传递。 4. 模板字符串:使用反引号(`)包裹字符串,可以在字符串中插入变量和表达式,提供了更方便的字符串拼接方式。 5. 解构赋值:可以从数组或对象中提取值,并赋给变量,简化了变量的声明和赋值过程。 6. 扩展运算符:使用三个点(...)可以将数组或对象展开,方便地进行数组合并、复制和对象属性的拷贝。 7. 类和模块:引入了class关键字,可以使用面向对象的方式定义类和继承关系。同时,也支持模块化的导入和导出。 8. Promise:提供了一种更优雅的处理异步操作的方式,解决了回调地狱的问题。 9. 简化对象属性的定义:当属性名和变量名相同时,可以直接写属性名,省略冒号和赋值符号。 10. 简化迭代器和生成器:引入了for...of循环,可以更方便地遍历数组和类数组对象。同时,也支持生成器函数,可以通过yield关键字实现暂停和恢复执行。 11. 模块化的导入和导出:使用import和export关键字,可以将代码分割成多个模块,提高了代码的可维护性和复用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值