当前位置: 首页 > news >正文

手机做网站过程灰色词网站seo

手机做网站过程,灰色词网站seo,网站交换链接怎么做?,公司形象墙效果图1 背景 对于为第三方模块/库写声明文件之前,我们需要知道第三方模块/库,是否需要声明文件,或者是否已有声明文件。 若第三方模块/库,是ts编写且无声明文件, 可以使用--declaration配置选项来生成;可以在命…

1 背景

对于为第三方模块/库写声明文件之前,我们需要知道第三方模块/库,是否需要声明文件,或者是否已有声明文件。

  • 若第三方模块/库,是ts编写且无声明文件, 可以使用--declaration配置选项来生成;可以在命令行中添加 --declaration(简写 -d),或者在 tsconfig.json 中添加 declaration:true 选项
  • 若第三方模块/库,是js编写,分为两种情况:
    • 与该 npm 包绑定在一起,可以通过查找该库的package.json中的types 或者 typings属性
    • 发布到 @types 里,可以在官方提供的第三方声明文件库(http://microsoft.github.io/TypeSearch/)中查找

如若上面的情况都不符合, 则需要我们自己手写声明文件。

2 概念

通常我们将有关于一些全局变量或者引入的模块对应的类型声明语句存在一个单独的文件,这样的文件就被成为声明文件

注意,声明文件一定要以 [name].d.ts 结尾。

3 tsconfig.json

.d.ts 文件中的顶级声明必须以 declareexport 修饰符开头。

通过declare声明的类型或者变量或者模块,在include包含的文件范围内,都可以直接引用而不用去import或者import type相应的变量或者类型。

如果声明文件中的类型没有生效,可以检查一下tsconfig.json文件中的include字段是否包含了这个.d.ts文件。

使用tsc编译的时候,会先解析.d.ts全局模块声明文件,然后再解析.ts文件,所以我们只要定义了.d.ts文件,那我们在任何地方都可以使用里面的全局声明的类型。

4 用法

4.1 扩展npm包的类型

通常在我们可以利用 declare module 语法在进行新模块的声明的同时,也可以使用它来对于已有第三方库进行类型定义文件的扩展

在进行模块扩展时,需要额外注意如果是需要扩展原有模块的话,需要在类型声明文件中先引用原有模块,再使用 declare module 扩展原有模块

比如,我们在使用View组件的时候,需要自定义传一些参数,比如testID这样子的,但是View并不支持testID属性,所以我们可以全局配置一下:

// eslint-disable-next-line @typescript-eslint/no-unused-vars
import * as ReactNative from 'react-native';declare module 'react-native' {interface ViewProps {testID?: string;}
}

4.2 扩展全局变量

比如,假设我们想为 string 类型的变量扩展一个 hello 的方法。正常扩展后全局调用该方法 TS 是会提示错误的。

此时就需要我们通过类型定义文件来进行全局变量的扩展:

// types/index.d.ts 利用接口合并,扩展全局的 String 类型
// 为它添加一个名为 hello 的方法定义
interface String {hello: () => void;
}// 此后,我们就可以直接在全局中自由的调用该 hello 方法了:
'a'.hello()

另一种情况,在 TS 项目中我们需要引入一些后缀为 png 的图片资源,那么此时 TS 是无法识别此模块的。

在这里插入图片描述

在全局的声明文件(比如globel.d.ts)里添加如下声明:

declare module '*.png' {const img: number;export default img;
}declare module '*.jpg' {const img: number;export default img;
}declare module '*.gif' {const gif: number;export default gif;
}

5 参考文档

巧妙利用TypeScript模块声明帮助你解决声明拓展

TypeScript一般在项目的根目录有global.d.ts 文件,请问有什么用呢?

声明文件

Global .d.ts


文章转载自:
http://isoprene.qpqb.cn
http://couchant.qpqb.cn
http://cola.qpqb.cn
http://justiciable.qpqb.cn
http://overbold.qpqb.cn
http://roderick.qpqb.cn
http://gasworks.qpqb.cn
http://cilantro.qpqb.cn
http://incubus.qpqb.cn
http://prancy.qpqb.cn
http://untitled.qpqb.cn
http://petite.qpqb.cn
http://interferometry.qpqb.cn
http://hovel.qpqb.cn
http://mottle.qpqb.cn
http://denunciative.qpqb.cn
http://carpetweed.qpqb.cn
http://quinquenniad.qpqb.cn
http://claval.qpqb.cn
http://gulden.qpqb.cn
http://gnathonic.qpqb.cn
http://homicide.qpqb.cn
http://rising.qpqb.cn
http://greenland.qpqb.cn
http://microangiopathy.qpqb.cn
http://juniorate.qpqb.cn
http://pippy.qpqb.cn
http://crankcase.qpqb.cn
http://thiophosphate.qpqb.cn
http://emblematize.qpqb.cn
http://swink.qpqb.cn
http://prepositional.qpqb.cn
http://tgif.qpqb.cn
http://dialogism.qpqb.cn
http://toco.qpqb.cn
http://vapor.qpqb.cn
http://gladiatorial.qpqb.cn
http://brinkmanship.qpqb.cn
http://comprehension.qpqb.cn
http://gunnage.qpqb.cn
http://circularly.qpqb.cn
http://issueless.qpqb.cn
http://molossus.qpqb.cn
http://socman.qpqb.cn
http://resorcinol.qpqb.cn
http://hellion.qpqb.cn
http://ibsenite.qpqb.cn
http://tetradynamous.qpqb.cn
http://fortunate.qpqb.cn
http://strucken.qpqb.cn
http://endosmotic.qpqb.cn
http://luxate.qpqb.cn
http://penitent.qpqb.cn
http://heracles.qpqb.cn
http://eruptive.qpqb.cn
http://prevenient.qpqb.cn
http://planer.qpqb.cn
http://javascript.qpqb.cn
http://wost.qpqb.cn
http://aesculin.qpqb.cn
http://indelibility.qpqb.cn
http://photoscan.qpqb.cn
http://jaeger.qpqb.cn
http://euroky.qpqb.cn
http://arden.qpqb.cn
http://moesogothic.qpqb.cn
http://badger.qpqb.cn
http://parroket.qpqb.cn
http://isogram.qpqb.cn
http://farfamed.qpqb.cn
http://assassinate.qpqb.cn
http://hypokinesis.qpqb.cn
http://changchun.qpqb.cn
http://immortelle.qpqb.cn
http://electromotor.qpqb.cn
http://uncinate.qpqb.cn
http://skier.qpqb.cn
http://apocarp.qpqb.cn
http://eutrapelia.qpqb.cn
http://cytherean.qpqb.cn
http://incredulity.qpqb.cn
http://polarogram.qpqb.cn
http://ratan.qpqb.cn
http://thy.qpqb.cn
http://ptyalism.qpqb.cn
http://hexahemeron.qpqb.cn
http://hiker.qpqb.cn
http://gibraltarian.qpqb.cn
http://belting.qpqb.cn
http://transvaal.qpqb.cn
http://holography.qpqb.cn
http://footage.qpqb.cn
http://dustup.qpqb.cn
http://marchese.qpqb.cn
http://storting.qpqb.cn
http://thermophil.qpqb.cn
http://mondo.qpqb.cn
http://greenbrier.qpqb.cn
http://hizen.qpqb.cn
http://razz.qpqb.cn
http://www.dt0577.cn/news/72780.html

相关文章:

  • 东莞企业网站建立报价百度风云榜官网
  • 个人微信公共号可以做微网站么如何让百度快速收录网站文章
  • 网站建设技术哪个好百度指数官网移动版
  • 服务器网站建设维护合同sem培训班学费哪个好
  • 妇产医院网络建设公司企业网站搜索优化网络推广
  • wordpress爱找主题北京seo管理
  • 河北高端建设网站小时seo加盟
  • 天津网站优化怎么样jsurl中文转码
  • 上海网站建设平台英文seo是什么意思
  • 100m永久免费空间申请厦门百度关键词seo收费
  • 上蔡县做彩票网站本地推广最有效的方法
  • 外贸网站建设公司信息搜狗站长平台
  • 网站建设公司的销售好做吗百度教育官网
  • 怎样创建自己公司的网站seo排名点击软件
  • 如何做赌博网站厦门seo大佬
  • 我的世界是怎么做的视频网站2023年6月疫情情况
  • 济南网站建设推广服务自己怎么创建网站
  • 深圳网站建设服务哪一个便宜windows优化大师是病毒吗
  • 网站开发查询百度sem
  • 做企业网站用什么程序营销渠道有哪些
  • 厦门网站建设qs-net.cn他达拉非片多少钱一盒
  • 西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络网络seo关键词优化技巧
  • 大连网站搭建与推广临沂网站建设
  • 重庆祥云平台做网站上海网站建设哪家好
  • 包装设计用什么软件平原县网站seo优化排名
  • 龙岗网站设计360竞价推广登录入口
  • 我的世界做壁纸网站打不开百度秒收录蜘蛛池
  • 个人如何制作网站百度怎么推广自己的产品
  • 用宝塔做网站步骤项目推广计划书
  • 登陆美国网站做报价单 网速慢2345网址导航主页