添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
支持js的所有导出方式
	export:导出声明或表达式(export {a,b,c}会被认为是声明列表而非对象),不能导出单独变量(如:export a)
	export default:能导出单独变量
	import为动态导入,即导入的内容在原模块变化,导入的内容也会更新,导入的内容只能修改其属性
	import为静态编译
    import多次导入相同模块路径,会被合并在一起
	export和import都不能放在if分支里
	当export和export default都存在时导入写法:import default导出变量,{export导出变量} from 'x'
(1)导出导入类型
	任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出。
	方式一:直接用import导入,基于导入省略的功能,存在副作用被擦去的问题
		export interface {...};  
		export type a=c;	
		导入:import {x} from 'x.ts'
		导入省略:
			// ./foo.ts文件
			interface Options {
			  // ...
			export function doThing(options: Options) {
			// ./bar.ts文件
			导入省略:当 TypeScript 输出一个 JavaScript 文件时,TypeScript 会识别出 Options 仅仅是当作了一个类型来使用,它将会删除 Options
			import { doThing, Options } from './foo.js';
			function doThingBetter(options: Options) {
			  doThing(options);
			  doThing(options);
		导入省略的缺陷:
			import { MyThing } from './some-module.js'; 单从导入无法确定是否是类型,以及是否应该删除它
			若含有副作用的模块:
				import {someType} from '...'
				当导入的模块只用作了类型,则会被省略,导致如果该模块中有其他如执行方法等副作用不会被执行
			解决办法:再单独导入整个模块
				import { SomeTypeFoo, SomeOtherTypeBar } from './module-with-side-effects';
				import './module-with-side-effects';
	方法二:添加type关键字,解决导入省略的缺陷
		import type { Cat, Dog } from "./animal.js";  表明只是类型的导入
		import { createCatName, type Cat, type Dog } from "./animal.js"; 添加type前缀混用
(2)导出重命名
	export {变量名 as 新变量名}
(3)导入外部模块再重新导出 
	外部模块:必须是export导出
	export {变量名 as 若要取别名 } from '模块路径'
(4)支持CommonJS和AMD的exports, TypeScript提供了export =对象的语法,不能和其他export一起使用
	对象:是对象,变量,类,接口,命名空间,函数或枚举
	export=对象;
	import x=require('路径')	或 import x from '路径'  两种方式都兼容node环境
		当"esModuleInterop": true,配置开启时
(5)按需加载
	if(布尔){
		import('模块')
	}else{
		import('模块')
(6)只加载模块,不导入内容
	import "./maths.js"; 导入后会执行该文件
                    支持js的所有导出方式	export:导出声明或表达式(export {a,b,c}会被认为是声明列表而非对象),不能导出单独变量(如:export a)	export default:能导出单独变量(1)导出接口	任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出。	export interface {...};  	export type a=c;			引入时和导出普通类型相同:import {x} from 'x.ts'(2)导出重命名	exp
该软件包包含CLI和API,以格式化JavaScript和TypeScript代码的导入和导出。
 它最初是为VSCode插件,然后提取到独立的CLI和lib中以用于更多用例(例如CI / CD)和编辑器(希望如此)。
[1.0]发行说明
发布API: formatSource , resolveConfigForFile , isFileExcludedByConfig等。
 释放CLI format-imports 。
按自定义规则对导入进行分组和排序,包括按路径或名称排序。
 删除重复的和未使用的名称以及可配置的例外。
 忽略配置或内联注释中的文件或声明。
 遵守和规则。
 尊重和配置。
 保留'use strict' , ///指令,shebang( #! )和注释。
 跨平台一致性:Windows,MacOS和Linux(Ubuntu)。
1.从ECMAScript2015开始,JavaScript引入了模块的概念。TypeScript也沿用了这个概念。
2.模块在自身的作用域里执行,而不是在全局作用域里;这意味着在一个模块里的变量,函数,类等等再模块外部是不可见的,除非你明确的使用export形式之一导出他们。
相反,如果你想使用其他模块导出的变量,函数,类,接口等的时候,你必须导入他们,可以使用import方式之
				
文章目录TypeScript 中的 exportexportimport TypeScript 中的 export 注意: 目前没有任何浏览器实现 exportimport ,要在浏览器中执行, 必须借助 TypeScript 或者其它的转换器! export export 语句用于从文件(或模块)中导出函数, 对象或者基础类型, 语法如下: export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as nam
目录背景`import type` vs `import`使用 `import type` 的好处参考链接 这周遇到了一个比较奇怪的问题:如何在 TypeScript 中根据某个 enum 的取值来执行后续逻辑? 按理来说应该很简单,这是 enum 的定义: export enum MyEnum { DEFAULT = 0, SOME_VALUE = 1, SOME_OTHER_VALUE = 2, 然后在另一个项目中,通过 import type 来引入: import type
我们在使用egret的时候,调用egret中的类都是要加上egret.XXX或者egret.gui.XXX的。 这是为何呢?仔细看一下egret的源码会发现, egret中的定义的所有类都是这样的格式:module egret { export class XXX { }假如是gui模块,那么源码中的类module后面的就是egret.gui。 RES模块中的类module是RE