首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TypeScript模块

模块(Module) JavaScript 有一个很长的处理模块化代码的历史,TypeScript 从 2012 年开始跟进,现在已经实现支持了很多格式。...非模块(Non-modules) 在我们开始之前,我们需要先理解 TypeScript 认为什么是一个模块。...TypeScript 中的模块(Modules in TypeScript) 在 TypeScript 中,当写一个基于模块的代码时,有三个主要的事情需要考虑: 语法:我想导出或者导入该用什么语法?...TypeScript 模块解析选项(TypeScript’s Module Resolution Options) 模块解析是从 import 或者 require 语句中取出字符串,然后决定字符指向的是哪个文件的过程...TypeScript 命名空间(TypeScript namespaces) TypeScript 有它自己的模块格式,名为 namespaces 。它在 ES 模块标准之前出现。

1.1K00
您找到你想要的搜索结果了吗?
是的
没有找到

快速学习TypeScript——模块

TypeScript也沿用这个概念 模块在其自身的作用域里执行,而不是在全局作用域里;这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,除非你明确地使用export形式之一导出它们。...大家最熟知的JavaScript模块加载器是服务于Node.js的 CommonJS和服务于Web应用的Require.js TypeScript与ECMAScript 2015一样,任何包含顶级import...这里的对象一词指的是类,接口,命名空间,函数或枚举 若使用export =导出一个模块,则必须使用TypeScript的特定语法import module = require("module")来导入此模块...在TypeScript里,使用下面的方式来实现它和其它的高级加载场景,我们可以直接调用模块加载器并且可以保证类型完全 编译器会检测是否每个模块都会在生成的JavaScript中用到。...简写模块里所有导出的类型将是any import x, {y} from "hot-new-module"; x(y); 复制代码 模块声明通配符 某些模块加载器SystemJS 和 AMD支持导入非

1.2K10

模块_TypeScript笔记13

一.语法格式 TypeScript 兼容 ES Module 规范,文件即模块 简单来讲,如果一个文件中含有合法的import或export语句,就会被当做模块(拥有模块作用域),否则就将在运行在全局作用域下...为了支持CommonJS 和 AMD 模块TypeScript 提供了一种特殊语法: export = something; 用来定义一个模块的导出对象,类似于 NodeJS 里的: // NodeJS...模块(CommonJS) let x = {a: 1}; exports.x = x; module.exports = x; 改写成 TypeScript 的话是这样: let x = {a: 1};...' # 禁用所有模块定义,import, export等(用到的话会报错) 默认模块格式为 CommonJS 或 ES6,与--target选项有关(target === "ES3" or "...(仅在类型标注中使用),编译时会自动去掉模块引用: // index.ts import MyModule from '.

69420

深入理解 TypeScript 模块

模块解析 ---- Typescript 模块解析就是指导 ts 编译器查找 import 导入内容的流程。TypeScript 共有两种可用的模块解析策略:Classic 和 Node 。.... ▐ 9.4 TypeScript 的 Node 模块解析和 Node.js 有何区别 当使用 Node 模块解析策略是,TypeScript 是模仿 Node.js 运行时的解析策略来在编译阶段定位模块定义文件...总结 ---- 这篇文章讲述了 TypeScript 模块的概念及使用方式,知道了怎么定义一个全局模块和一个文件模块。...并且详细描述了 TypeScript 模块解析的流程,解析过程中文件的优先级策略等等,让大家对 TypeScript 模块有了一个全面的认识。...参考 TypeScript 官方文档 TypeScript 中文手册 TypeScript 模块 了不起的 tsconfig.json 指南

2.5K30

TypeScript 模块导入那些事

ES6 模块导入的限制 我们先来看一个具体的例子: 在 Node 项目里,使用 CommonJS 规范引入一个模块: const koa = require('koa') 复制代码 改写为 TypeScript...' 复制代码 使用 TypeScript 模块导入语法: import koa = require('koa') 复制代码 两者大部分是等价的,但 ES6 规范对 import * as 创建出的模块对象有一点限制...2.7 版本对 CommonJs/AMD/UMD 模块导入的增强 在之前的版本,TypeScript 对 CommonJs/AMD/UMD 模块的处理方式与 ES6 模块相同,这会导致一些问题: 如前文所提到的...类似的,当导入一个 CommonJs/AMD/UMD 模块时,TypeScript 视 import foo from 'foo' 与 const koa = require('koa').default...在 2.7 的版本里,TypeScript 提供了一个新选项 --esModuleInterop,旨在解决上述问题, 当使用该选项,且模块为 CommonJs/AMD/UMD 时,它会导入一个可调用或是可实例化的模块

2K30

TypeScript系列教程十《模块

TypeScript 从2012年开始,已经支持了大部分的格式,但随着时间的推移,社区和JavaScript规范已经融合到一种称为ES模块(或ES6模块)的格式上。...无论您的模块目标是什么,此语法都有效。 TypeScript 中的模块TypeScript编写基于模块的代码时,需要考虑三个主要问题: 语法: 我想使用什么语法来导入和导出内容?...具有CommonJS行为的ES模块语法 TypeScript具有ES模块语法,该语法直接与CommonJS和AMD请求相关。...TypeScript模块解析选项 模块解析是从import或require语句中获取字符串,并确定该字符串引用的文件的过程。 TypeScript包括两种解析策略:Classic和Node。...命名空间 TypeScript有自己的名为名称空间的模块格式,它早于ES模块标准。

1.5K10

npm 模块制作

一、简述 npm 是Node的包管理器,不管是前端后端,我们都可以使用上面已经发布的模块。...es6 import直接导入模块使用,如下: import Mymodule from 'module-name' npm让我们非常方便的使用别人发布的模块,但作为一名开发者,我们又是如何制作npm 模块...二、步骤 在github上创建一个新的repository,然后clone到本地 创建 package.json 文件来描述我们要制作模块 创建和测试模块 发布模块到NPM 开始创建模块 这里假设你已经会使用...创建和测试我们的模块 package.json中main字段已指定index.js为模块入口文件,import 某个模块时实际上是查找到主入口文件,然后导进来。...最后,我们就可以使用 npm install module-name 安装制作好的npm模块

74620

模块解析机制_TypeScript笔记14

写在前面 模块化机制让我们能够把代码拆分成多个模块(文件),而编译时需要知道依赖模块的确切类型,那么首先要找到它(建立模块名到模块文件路径的映射) 实际上,在 TypeScript 里,一个模块名可能对应一个...用来引入外部依赖模块 二.模块解析策略 具体的,有 2 种模块解析策略: Classic:TypeScript 默认的解析策略,目前仅用作向后兼容 Node:与 NodeJS 模块机制一致的解析策略 这..."Node"时)TypeScript 也会模拟NodeJS 运行时的模块解析机制,以便在编译时找到模块的定义文件 具体的,会把 TypeScript 源文件后缀名加到 NodeJS 的模块解析逻辑上,还会通过...在运行时,这些模块会被“部署”到单个目录下 TypeScript 里通过设置baseUrl来告知编译器该去哪里找模块,所有非相对模块引入都是相对于baseUrl的,有两种指定方式: 命令行参数--baseUrl...这让编译器能够以类型安全的方式,“捕捉”复杂的构建/运行时特性,比如条件引入以及项目特定的加载器插件 比如国际化的场景,构建工具通过插入特殊的路径标识(#{locale})来自动生成当地特定 bundle

1.7K30

TypeScript 官方手册翻译计划【十三】:模块

TypeScript 诞生于 2012 年,对许多模块化方案也实现了支持。但随着时间的推移,社区和 JavaScript 规范在一种名为 ES 模块(或者称为 ES6 模块)的方案上达成了共识。...非模块 在我们开始之前,有个很重要的事情需要搞清楚,那就是 TypeScript 会将什么视为一个模块。...TypeScript 中的模块TypeScript 中编写基于模块的代码时,有三件主要的事情需要考虑: **语法:**我想要使用什么语法去进行导入和导出?...具备 CommonJS 行为的 ES 模块语法 TypeScript 的 ES 模块语法可以和 CommonJS 与 AMD 的 require 直接关联。...TypeScript 命名空间 TypeScript 有自己的模块格式,名为“命名空间”,它比 ES 模块标准出现得要早。

1.1K20

什么是TypeScript模块?为啥那么重要?

TypeScript 提供了丰富的模块功能,使得开发者可以更加方便地使用模块化思想来构建和组织自己的代码。本文将详细介绍 TypeScript 中的模块概念、模块的使用方法以及一些常见的模块模式。...模块的基本概念什么是模块?在 TypeScript 中,模块是指一个独立的文件或代码块,它封装了一组相关的数据和函数,并提供了对外的接口。...模块的使用方法导出与导入在 TypeScript 中,我们可以通过 export 关键字将模块中的变量、函数、类或接口导出,使得其他模块可以引用。...模块解析策略在 TypeScript 中,模块的解析策略决定了编译器在导入模块时如何查找和解析模块的位置。...模块的编译与输出TypeScript 中的模块代码默认会被编译成 JavaScript 中对应的模块系统( CommonJS、AMD、ES6 等)。

34821
领券