javascript - Node : Typescript export expressjs from wrapper

标签 javascript node.js typescript express npm

我在私有(private) npm 仓库上创建了一个 ExpressJS 包装器,我想导出我的库和 expressjs 本身,例如:

索引.ts

export { myExpress } from './my-express'; // my express wrapper
import * as express from 'express';
export = express; // doesn't works!

我怎样才能用 typescript 制作它?

最佳答案

Express 4 的问题在于它使用了与 ES 模块不兼容的已弃用的 CommonJS 导出约定,它包含唯一的导出(express() 工厂),其余导出已定义作为它的属性。它使用遗留的 TypeScript export = ... 语法,所以它不能重新导出为 ES 模块 export * from 'express',也不能使用合成默认重新-export, export { default } from 'express'.

鉴于模块应该从 expressmyExpress 导出从 ./my-express 重新导出,它应该是:

import * as express from 'express';
export default express;

export { myExpress } from './my-express';

它可以导入为:

import express, { myExpress } from '...';

对于常规的 ES 模块,* 可以重新导出:

export * from 'some-package';
export { myExport } from './my-package';

关于javascript - Node : Typescript export expressjs from wrapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54134222/

相关文章:

Javascript - html 图像幻灯片

javascript - 如何在浏览器中显示控制台内容?

typescript - 使用 TypeScript 将箭头函数分配给通用函数类型

javascript - 注销时 Redux 不会返回到我的初始状态

javascript - 从特定输入增加字母表

node.js - angular 2中的system.config.js文件有什么用?

javascript - 数组与 Postgres 中的数组重叠

javascript - WebStorm:如何禁止编辑生成的 JavaScript 文件

javascript临界区或信号量问题

javascript - 如何将现有回调 API 转换为 Promise?