打字稿捆绑器到打字稿文件

Posted

技术标签:

【中文标题】打字稿捆绑器到打字稿文件【英文标题】:Typescript bundler to typescript file 【发布时间】:2017-12-28 11:57:26 【问题描述】:

我知道有一些流行的 javascript 捆绑器,例如 webpackrollup,而且我知道您可以使用这些捆绑器将您的打字稿代码捆绑到单个 javascript 文件中。

我正在寻找与打字稿文件类似的东西。例如,基于import .... from 语法将多个打字稿文件捆绑到一个打字稿文件中

你知道有没有这样的工具吗?

【问题讨论】:

出于什么目的?您希望 TypeScript 输出看起来如何?我不明白将 TypeScript 模块包裹在 IIFE 周围有什么好处。此外,类型之类的纯静态对象无法从 IIFE 导入,并且当前范围仅限于文件(即模块)上下文。 也许解决方案是使用命名空间。 你为什么需要那个?我想不出这可能有意义的场景。 我认为不存在工具,因为您不需要它。只需在新文件中重新导出所有内容...然后您可以从该条目文件中导入。 如果您想将您的库作为单个文件分发,请将其与 Webpack 捆绑,并构建 .d.ts 定义文件。 【参考方案1】:

您可以使用rollup-plugin-dts 来捆绑您的打字稿声明文件。

用法

npm安装包:

$ npm install --save-dev rollup-plugin-dts

将其添加到您的rollup.config.js

import dts from "rollup-plugin-dts";

const config = [
  // …
  
    input: "./my-input/index.d.ts",
    output: [ file: "dist/my-library.d.ts", format: "es" ],
    plugins: [dts()],
  ,
];

export default config;

【讨论】:

以上是关于打字稿捆绑器到打字稿文件的主要内容,如果未能解决你的问题,请参考以下文章

如何调试打字稿代码,在 vscode/vs2015 中使用 webpack 捆绑

从打字稿中的索引文件导出JSON文件

是否可以在子文件夹中运行打字稿编译器?

打字稿打字,打字文件夹是啥

为我的反应打字稿组件库生成/维护打字稿定义文件

Angular:如何手动将打字文件添加到打字稿