TypeScript Node.js 包

Posted

技术标签:

【中文标题】TypeScript Node.js 包【英文标题】:TypeScript Node.js package 【发布时间】:2017-12-24 20:48:49 【问题描述】:

我正在制作一个 node.js 包,发现 here

开发进展顺利,除了一件事。我的所有代码都在一个文件中,index.ts。

我在谷歌上搜索了如何将类分成不同的文件,然后最终将它们作为一个包放在一起,同时保留打字稿类型和所有内容。

有很多方法可以做到这一点,但它们会破坏 IntelliSense(项目不显示)。由于我使用 typescript 的全部原因是拥有 IntelliSense 和一些内联文档,这不是一个可行的选择。

任何帮助将不胜感激。

解决方案:

./Help/HelpModule.ts

export enum HelpMode 
    /**
     * Disable the automatic help command.
     */
    Disabled,
    /**
     * Use the automatic help command and respond in the channel the command is used.
     */
    Public,
    /**
     * Use the automatic help command and respond in a private message.
     */
    Private

./index.ts

export * from './Help/HelpMode';

【问题讨论】:

您使用的是什么 IDE? Visual Studio Code 具有出色的 TypeScript 支持,并且可以开箱即用地理解 TypeScript 模块系统。 @Thilo 我用的是 VS2017 【参考方案1】:

要将您的代码拆分为多个文件,您必须首先将您的函数移动到一个新文件中,导出它们,然后将它们导入到您的新文件中。

例如

//index.ts
function fooA()  .. 
function fooB()  .. 

如果我们想将 foo B 拆分成它自己的文件。我们这样做:

//index.ts
import  fooB  from "./fooB";
function fooA()  .. 

另一个文件是

//fooB.ts
export function fooB()  .. 

【讨论】:

我可以对课程做同样的事情吗? 我能否将其设置为从我的 index.ts 导出?

以上是关于TypeScript Node.js 包的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript Node.js 包

创建Node.js TypeScript后端项目

@Types/node/index.d.ts TypeScript 错误 TS2309

Node.js 和 sequelize-typescript - 数据访问对象和业务对象

搭建Node.js Redis开发环境

TypeScript + node.js + github.api, 实现github快速找到目标用户