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

zeroin:

我正在用Typescript建立一个大库,其中包含100个单独的ts文件。以前,我为所有类都使用了导出模块XXX(以后更名为导出名称空间XXX),但是正如书中所说,这不是推荐的方式,我应该改用import。

所以我尝试导入。这工作正常:

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

但是由于我有100个文件,所以我不想为所有文件添加这样的行。我希望可以通过mylib变量访问所有类

所以我尝试了这个:

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

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

有没有办法从一行中包含多个文件的文件夹中导入所有类?

格奥尔格·格拉布(Georg Grab):

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";

我假设您在这里使用节点样式的模块分辨率,您可能会这样做,因为这是推荐的方法。检查打字稿文档以获取有关如何在打字稿中完成模块解析的更多详细信息。

通常,您要尝试完成的工作是创建一个index.d.ts文件,该文件用作您从中导出其余模块的入口。我以angular2为例:常见的angular2导入如下所示:

import { Injectable } from '@angular/core'

core只是位于目录内的@angular目录。就像您的source目录一样。但是,在核心目录中有一个index.d.ts文件:

/**
 * @module
 * @description
 * Starting point to import all public core APIs.
 */
export * from './src/metadata';
export * from './src/util';
export * from './src/di';
....

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重命名文件夹中的所有文件到编号列表1.jpg 2.jpg

TypeScript在同一文件夹中找不到js模块

编译的TypeScript的输出文件夹

TypeScript:是否可以导入文件夹而无需编写index.ts文件?

TypeScript:当编译为项目结构增加深度时如何从父文件夹导入

如果.ts文件在文件夹中更深,Typescript无法找到要加密的模块

如何导入在Typescript中具有Typescript主文件的npm模块?

使用文件夹名称解析Typescript文件

获取所有包含特定文件nodjs的所有1st子文件夹

Cloud Functions删除文件夹:TypeScript

TypeScript节点服务器设置。如何删除dist文件夹中的所有* .d.ts文件?

从外部packabe中的嵌套文件夹导入TypeScript

为什么__init__.py将文件夹中的所有文件作为模块导入?

.gitignore-忽略目标文件夹中除1个JAR文件之外的所有文件

Typescript自动导入从@types文件夹导入

Typescript文件夹基于绝对导入

Inno-setup将所有文件打包到一个文件夹中,每个文件只有1个文件

如何使用htaccess将子文件夹1中的所有项目重定向到子文件夹2而不是子文件夹本身(永久重定向)

如何使用单个find命令更改除1个文件夹以外的所有子目录的权限?

systemd服务除1个文件夹以外的所有内容均为只读

如何选择/复制文件夹1中名称与其他文件夹2中的其他文件夹匹配的所有文件夹

如何访问ionic 1中移动文件管理器中任一文件夹中的所有文件

遍历所有文件夹并按顺序重命名文件夹内的所有文件 1.*, 2.*, 3.*

如何将文件夹中的所有文件作为模块导入并将所有文件作为对象导出?

使用 Typescript 从 React 中的资产文件夹导入图像

脚本将 2 个文件合并为 1 个文件并重复,直到文件夹中的所有 500 个文件合并为 250 个文件

Python Pandas - 导入文件夹中的所有 CSV 文件,只拾取 1 个文件

grep 所有子文件夹中的特殊文件名并放入 1 个文件

如果设置了文件夹大小,则将父目录中的所有 1 级文件夹移至子文件夹