首页 > 其他分享 >在写ts的demo时,经常给文件添加export {},作用是什么

在写ts的demo时,经常给文件添加export {},作用是什么

时间:2024-03-03 11:00:23浏览次数:17  
标签:文件 TypeScript demo 导出 ts 添加 export 模块

在 TypeScript 中,当你在一个文件中添加 export {} 时,其作用主要有以下几点:

  1. 创建模块(Module)
    在 TypeScript 中,每个 .ts 文件都是一个模块。通过添加空的 export {},即使该文件当前没有实际导出任何内容,也明确地将文件标记为一个模块。
    这样可以确保其他文件可以通过导入(import)来使用这个模块,即便现在它是空的。

  2. 防止被当作全局脚本执行
    当 TypeScript 编译器编译一个包含顶级声明但没有显式 exportimport 的文件时,默认会将其视为全局脚本,其中的变量和函数会直接暴露到全局作用域。
    如果在文件中添加了 export {},那么这个文件会被当作模块处理,不会污染全局命名空间。

  3. 代码组织与规划
    即使目前没有要导出的内容,也可以预见到未来可能会有内容需要导出。这时,提前添加 export {} 可以帮助你清晰地规划文件结构,并提醒开发者此文件是一个模块,将来可能有对外部公开的接口。

  4. 避免误报错误
    在某些情况下,TypeScript 编译器可能会因为找不到有效的模块输出而报告错误。虽然理论上一个只包含内部作用域变量和函数的文件不需要 export,但有时为了避免此类编译警告或错误,也会选择添加空的 export {}

请注意,在实践中,若文件中确实没有任何导出内容且将来也不打算导出任何内容,通常无需特意添加 export {}。但在某些场景下,如需强调模块化或者解决特定的编译问题时,它还是有一定的实用价值。

标签:文件,TypeScript,demo,导出,ts,添加,export,模块
From: https://www.cnblogs.com/longmo666/p/18049688

相关文章

  • AT_abc169_f Knapsack for All Subsets题解
    如果我们定义\(dp[i][j]\)表示对于前i个字符而言,其子集满足条件的个数。那4么对于一个位置i而言,要么选择它贡献要么不选择,所以\(dp[i][j]=dp[i-1][j-a[i]](j>=a[i])+dp[i-1][j]\),这是每一个\(f(i)\)的函数。然后我们加上所有的\(dp[i][k](i:1到n)ans+=dp[i][k......
  • CVPR 2024 满分论文!Meta提出EfficientSAM:快速分割一切!
    前言 Meta研究者提出了一种改进思路,利用SAM的掩码图像预训练(SAMI)。这是通过利用MAE预训练方法和SAM模型实现的,以获得高质量的预训练ViT编码器。这一方法降低了SAM的复杂性,同时能够保持良好的性能。本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公......
  • Open Data Contract Standard(ODCS) data contracts 标准
    ODCS属于一个linux基金会项目,目前处于沙箱阶段包含的特性datacontracts框架 Fundamentals,Datasets&Schema,DataQuality,Pricing,Stakeholders,Security,Sevice-Levelagreements(SLA),CustomProperties贡献者&终端用户 包含了DataEngineers,DataScientists,Data......
  • 微信小程序中调用wx.getSetting可以获取到哪些权限设置
    微信小程序中调用wx.getSetting可以获取到哪些权限设置:https://blog.csdn.net/u012767761/article/details/119648707?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170928385316800222888134%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&reque......
  • TSINGSEE青犀AI智能分析网关V4工业园区/厂区/工厂智慧安监方案
    一、背景与需求分析随着科技的不断发展,传统的安全监管方式已经难以满足现代工业园区的安全需求。为了提高工业园区的安全监管水平,智慧安监方案成为了新的选择。针对工业园区化工企业多且安全及环保等方面存在风险高、隐患多、精细化管控复杂的情况,需要建立工业园区的智能化视频监......
  • vue3+vite,封装 echarts 组件以及如何使用
    1.封装echarts组件1.安装echarts所需npm包,如下。[email protected]@3.1.0//社区图等npmi@vueuse/[email protected]//一些好用的hook2.封装echarts组件1.在component目录下新建Echarts文件夹2.在Echarts文件夹下新建config文件夹(......
  • av_packet_rescale_ts
    /***Convertvalidtimingfields(timestamps/durations)inapacketfromone*timebasetoanother.Timestampswithunknownvalues(AV_NOPTS_VALUE)willbe*ignored.**@parampktpacketonwhichtheconversionwillbeperformed*@paramsrc_tb......
  • SiteServer CMS远程模板下载getshell漏洞导致的黑SEO利用分析溯源
    前言某日中午,涉及一代理商客户网站发现异常SQ内容,要求进行溯源分析并找出根本原因。0x01初步分析通过提供的链接(www.xxx.com.cn/2023j19tPLKn2/55151),确认涉及黑帽SEO活动,通过百度搜索进一步验证也证实了这一点。0x02日志分析黑客常常在植入菠菜或非法广告的网站中设置后......
  • Go 100 mistakes - #86: Sleeping in unit tests
      ......
  • Go 100 mistakes - #82: Not categorizing tests
         ......