Typescript 1.8 模块:从文件夹导入所有文件

2024-05-07

我正在使用 Typescript 构建一个大型库,其中包含 100 个独立的 ts 文件。 以前我用过导出模块XXX(重命名为导出命名空间 XXX稍后)对于我的所有课程,但正如书籍所说,这不是推荐的方法,我应该使用 import 代替。

所以我尝试导入。这工作得很好:

import * as mylib from "./source/source.ts";

但由于我有 100 个文件,我不想为所有文件添加这样一行。我希望我的所有课程都可以通过mylib多变的。

所以我尝试了这个:

import * as mylib from "./source/";

但一旦我这样做,我就会得到:找不到模块“./source/”

有没有办法用一行导入具有多个文件的文件夹中的所有类?


tsc 提供的两种模块解析策略都不支持这种行为。您想要什么进口声明

import * as mylib from "./source/";

实际上所做的是按以下顺序执行检查:

1. (does package.json have a typings key? If so, import this file)
2. import * as mylib from "./source/index.ts";
3. import * as mylib from "./source/index.tsx";
4. import * as mylib from "./source/index.d.ts";

我假设您在这里使用节点式模块解析,您可能会这样做,因为这是推荐的方式。检查打字稿文档 https://www.typescriptlang.org/docs/handbook/module-resolution.html有关如何在 TypeScript 中完成模块解析的更多详细信息。

通常,您想要实现的目标是创建一个index.d.ts文件,它用作导出其余模块的入口点。 我以 angular2 为例: 您常见的 angular2 导入如下所示:

import { Injectable } from '@angular/core'

core只是一个位于其中的目录@angular目录。就像你的一样source目录。然而,在核心目录中有一个index.d.ts file:

/**
 * @module
 * @description
 * Starting point to import all public core APIs.
 */
export * from './src/metadata';
export * from './src/util';
export * from './src/di';
....
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Typescript 1.8 模块:从文件夹导入所有文件 的相关文章

随机推荐

  • 如何修复 Python 中损坏的 utf-8 编码?

    我的字符串是Ni m B T t Thi n s Nh t H nh 我想将其解码为Ni m B T t Thi n s Nh t H nh 我在那个网站上看到可以做到这一点http www enderminh com minh utf8
  • 文件嵌套时嵌入资源名称丢失扩展名

    我有一些脚本存储在我标记为嵌入式资源的文件中 我将每个文件嵌套在其关联的下面 cs文件 不幸的是 由于某种原因 当您以这种方式嵌套文件时 嵌入的资源名称会丢失文件扩展名 这意味着在运行时我无法识别哪些嵌入式资源是脚本 哪些不是脚本 对此我能
  • Pandas dataframe ,使用 iloc 替换最后一行

    我正在尝试使用 iloc 替换 Pandas 数据帧的最后一行 但是我无法让它工作 有很多解决方案 但最简单 最慢 的是这里 如何在 Python 中对 Pandas 数据帧上的行进行 FIFO 推送操作 https stackoverfl
  • 如何使用 Python 从 Azure Functions 中的辅助线程重定向日志

    我正在使用 Azure 函数运行启动多个线程的 Python 脚本 出于性能原因 一切都按预期工作 但 Azure Functions 日志中仅显示来自 main 线程的信息日志 我在 main 中启动的 辅助 线程中使用的所有日志都不会出
  • JavaFX 3D 面孔着色...再次

    我研究了这个question https stackoverflow com questions 26831871 coloring individual triangles in a triangle mesh on javafx 但我还
  • 如何使用pdfbox获取字体大小

    有谁知道 TextPosition 中的 getFontSize 方法是否总是返回 1 我应该只使用 getFontSizeInPt 来获取字体的大小吗 我遇到的问题是 getFontSizeInPt 有时会为相同大小的文本返回不同的值 对
  • 获取 Prometheus 中两个自定义时间戳之间的增量

    我有一个名为的普罗米修斯指标device number 我想要的是显示现在与一天 一周 一个月等之前的价值差异 这意味着减去具有两个不同时间戳的两个值 环顾四周 我没有找到任何关于如何执行此操作的有用文档 我想做但不起作用的是 sum de
  • JFreeChart奇怪的渲染(无头RedHat)

    我目前正在将一个应用程序从 Windows 环境迁移到 Redhat 环境 该应用程序使用 JfreeChart 1 0 6 它是部署在运行 Open JDK6 的 Redhat 无头环境中的 tomcat 7 中的 Web 应用程序 我得
  • 使用 WordPress 中的钩子在帖子更新(自定义帖子类型)后获取更新值

    我想获得更新后操作的最新更新值 我已经使用了 save post post updated publish post挂钩但全部返回旧值 但我同时需要当前更新值 我试过下面的代码 add action post updated wpse634
  • Materialize CSS,显示自动完成芯片的图像

    文档物化芯片 http materializecss com chips html展示您可以用图像制作芯片 div class chip img src images yuna jpg alt Contact Person Jane Doe
  • 如何添加到 OrientDB 中的空间索引?

    我正在使用工作室的 OrientDB 2 0 我使用文档中的代码成功创建了 Lucene 空间索引 CREATE class Place extends V CREATE property Place name string CREATE
  • 更改列名称的字母大小写

    我有大量数据集 每个数据集都包含一长串列名 在某些文件中 列名称全部大写 而在某些文件中 仅列名称的第一个字母大写 我需要附加数据集 并认为匹配数据集中的列名称的最简单方法是将全大写名称转换为仅第一个字母大写的名称 我希望找到一个通用的解决
  • 如何从symfony2中的现有表生成实体?

    我有带有一些字段的表 my table 我想在 MyBundle 中使用 my table 生成实体 但我不想重新创建 MyBundle 中的所有实体 我怎样才能做到这一点 这是你可以做到的方法 第一步 要求Doctrine自省数据库并生成
  • npm install 冻结并显示 IdealTree:chatting: sill IdealTree buildDeps

    当我安装任何东西时 npm 冻结了 即使删除 package lock json 也没有任何变化 这里有一个类似的问题 https stackoverflow com questions 50522376 npm install hangs
  • 如何以编程方式获取 Android 项目(非设备)中支持的语言列表

    在一些项目中我们可能会出现这种情况 如何以编程方式获取此应用程序 项目支持的语言列表 结果我需要这样的字符串数组 en bg bs da de hr it nl pl pt sk sr tr 当然 我可以通过键入它来对其进行硬编码 但我认为
  • 在 Bootstrap 导航栏后添加一些空间的最佳方法是什么?

    以下代码始终在页面顶部显示导航栏 我需要将第二个容器 内容 放置在导航栏的末尾而不是其下方 目前第二个容器位于导航栏下方 我可以在内容顶部添加一些空白 但我不确定这是一个好方法 知道如何解决吗 div class container div
  • 将 CSS 类应用于 asp:Hyperlink 中的图像?

    我使用 asp Hyperlink 根据 URL 中的参数动态呈现链接图像 我需要能够将 CSS 类添加到渲染的 img 中 但不知道如何做到这一点 我知道我可以将 CssClass blah 添加到asp Hyperlink 但在渲染的H
  • CSS3 过渡卡住了

    我们的新网站上正在进行很多转换 有一个特别之前工作得很好 但自从添加谷歌地图后 某种过渡效果不会触发 此外 它还会禁用网站上的所有其他过渡效果 直到触发另一个 javascript 函数 我不知道为什么 但这些就是事实 该问题似乎仅限于 S
  • 我的 QSqlQueryModel 不在列表视图中显示数据

    我正在玩 QSqlQueryModel 但我现在完全陷入困境 我一整天都在寻找解决方案 但到目前为止还没有运气 我所做的工作是它从我的 sqlite 数据库中提取数据 但由于某种原因我无法在列表视图中显示它 我的角色名似乎不存在 对于我从数
  • Typescript 1.8 模块:从文件夹导入所有文件

    我正在使用 Typescript 构建一个大型库 其中包含 100 个独立的 ts 文件 以前我用过导出模块XXX 重命名为导出命名空间 XXX稍后 对于我的所有课程 但正如书籍所说 这不是推荐的方法 我应该使用 import 代替 所以我