三、eggjs学习记录 - typescript声明放到types里面

如果项目需要做为一个模块被其它项目引用到,并用其它项目是用typescript写的, 这就需要兼容typescript,

需要把要导出的变量或者模块在types 目录里声明。对应的目录(文件名称)结构与真正的逻辑代码一致,只不过文件后缀改成.d.ts 就可以,不会被外部直接导入的文件,不需要写声明文件。

//比如目录结构为:
/**
project/index.js,
project/demo.js
project/other/other.js
*/
//则可以增加声明文件:
/**
eggs/types/index.d.ts,
eggs/types/demo.d.ts,
project/types/other.d.ts
*/
//这里如果源代码不提供对外引用就不需要在types里面建一份声明文件了

注意上面的结构只是项目示例跟eggs无关

原文地址:https://www.cnblogs.com/hellolol/p/11526417.html

时间: 2024-10-29 05:23:04

三、eggjs学习记录 - typescript声明放到types里面的相关文章

《C++11/14高级编程Boost程序库探秘》之第1章全新的C++语言(三)学习记录

<C++11/14高级编程Boost程序库探秘>之第1章全新的C++语言(三)学习记录 1.7函数式编程 函数式编程是与面向过程编程.面向对象编程和泛型编程并列的一种编程范式,它基于λ演算理论,把计算过程视为数学函数的组合运算. 1.7.1 lambda表达式 基本形式为: [](params){...} []称为lambda表达式引出操作符,圆括号里是函数的参数,花括号内则是函数体,可以使用任何C++语句. lambda表达式的类型称为闭包,无法直接写出,所以通常需要使用auto的类型推导功

2019年7月15日~7月21日 第三周学习记录

这周步入了对JAVA学习的正轨.本来是计划这周的最后写这篇博客的,但是前两天电脑出了一些问题送去修理了,所以耽误了两天. 本周通过在腾讯课堂刷网课来学习JAVA,平均每天2~3个小时,由于是从零基础开始学,所以内容没有那么多.但正因为这样才发现了JAVA和C语音.C++的不同之处.JAVA通过不同的虚拟机(JVM)来实现跨平台,我认为这也是它为什么特别受欢迎的原因之一.完成了自己的第一个手工javac程序的helloworld.java.学习了一些java相关的编译过程当中的规则和规约,java

第三周学习记录 缓冲区实验

一实验步骤 由于机器是64位,而实验是在32位环境下进行,因此,先配置实验环境. sudo apt-get update sudo apt-get install -y lib32z1 libc6-dev-i386 sudo apt-get install -y lib32readline-gplv2-dev安装32位C语言环境. 利用sudo sysctl -w kernel.randomize_va_space=0指令关闭随机化地址,方便查找地址. sudo su cd /bin rm sh

Windows API 编程学习记录&lt;三&gt;

恩,开始写API编程的第三节,其实马上要考试了,但是不把这节写完,心里总感觉不舒服啊.写完赶紧去复习啊       在前两节中,我们介绍了Windows API 编程的一些基本概念和一个最基本API函数 MessageBox的使用,在这节中,我们就来正式编写一个Windows的窗口程序. 在具体编写代码之前,我们必须先要了解一下API 编写窗口程序具体的三个基本步骤:             1. 注册窗口类:             2.创建窗口:             3.显示窗口: 恩,

程序员面试笔试宝典学习记录(三)(数据库相关知识)

关系数据库系统与文件数据库系统的区别如下: (a)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化. (b)关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件. (c)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式. acid,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability). 数据查询:select sele

Spring Boot学习记录(三)--整合Mybatis

Spring Boot学习记录(三)–整合Mybatis 标签(空格分隔): spring-boot 控制器,视图解析器前面两篇都已弄好,这一篇学习持久层框架整合. 1.数据源配置 数据源使用druid,maven引入相关依赖,包括spring-jdbc依赖,mysql依赖 1.转换问题 配置的过程要学会为什么这样配置,而不是只学会了配置.这里我们可以和以前的配置方式对比: 以前版本 <!--配置数据库连接池Druid--> <bean id="dataSource"

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.     

20172327 2017-2018-2 《程序设计与数据结构》第三周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第三周学习总结 教材学习内容总结 讨论对象的创建和使用对象引用变量. 探索String类提供的服务. 描述如何组织成Java标准类库包. 探索随机和数学课提供的服务. 讨论如何使用NumberFormat和DecimalFormat类格式输出. 介绍枚举类型. 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在做项目pp0301时,出现了下面这中情况 问题1解决方案:通过仔细的分析,我发现代码是对的,主要是数

如何编写 Typescript 声明文件

使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的. TypeScript之所以叫Type,和它的强类型是分不开的,这也是区别于JavaScript最关键的一点,类型的声明可以直接写在代码中,也可以单独写一个用来表示类型的描述文件*.d.ts. 常用方式 首先在d.ts中是不会存在有一些简单的基本类型定义的(因为这些都是写在表达式.变量后边的,在这里定义没有任何意义),声明文件中定义的往往都是一些复杂结构