Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
库插件的typescript声明文件_Typescript_Leaflet_Definitelytyped_Type Declaration_.d.ts - Fatal编程技术网

库插件的typescript声明文件

库插件的typescript声明文件,typescript,leaflet,definitelytyped,type-declaration,.d.ts,Typescript,Leaflet,Definitelytyped,Type Declaration,.d.ts,我已经为编写了一个插件,它扩展了传单的折线类。我有一个创建typescript声明文件的请求。我正试图根据这一点来找出答案,但我不确定我是否做对了。我的项目目录如下所示: project -node_modules -src | -index.js | -leaflet-arrowheads.js package.json 我的理解是,我想在我的src文件夹中粘贴一个index.d.ts磁贴,与我的模块所在的位置相同。所以我要这样做: project -node_modules -src

我已经为编写了一个插件,它扩展了传单的折线类。我有一个创建typescript声明文件的请求。我正试图根据这一点来找出答案,但我不确定我是否做对了。我的项目目录如下所示:

project
-node_modules
-src
 | -index.js
 | -leaflet-arrowheads.js
package.json
我的理解是,我想在我的
src
文件夹中粘贴一个
index.d.ts
磁贴,与我的模块所在的位置相同。所以我要这样做:

project
-node_modules
-src
 | -index.js
 | -index.d.ts
 | -leaflet-arrowheads.js
package.json
问题1:这是正确的方法吗?或者我应该将此文件添加到“传单箭头/index.d.ts”下的DefinitelyTyped/types文件夹中,并指导人们使用
npm I@types/传单箭头

传单上有自己的字体贴花。(可以看到代码)它定义了多段线上可用的方法类型。我只是想补充一下,因为我的插件只是向
L.Polyline
添加了一些方法。
多段线
类型定义如下所示:

project
-node_modules
-src
 | -index.js
 | -leaflet-arrowheads.js
package.json
导出类多段线扩展路径{
构造函数(latlngs:LatLngExpression[]| LatLngExpression[]],选项?:多段线选项);
toGeoJSON():geojson.Feature;
getLatLngs():LatLng[]| LatLng[].[]LatLng[]];
//…更多的方法和选项定义
}
问题2:如何在这个定义中添加一些方法?到目前为止,我的
index.d.ts
文件中有以下内容:

导出接口箭头头选项{
打哈欠?:数字;
大小?:字符串|编号;
频率?:字符串|编号;
合计:false;
}
导出接口多段线{
箭头:(选项?:箭头选项)=>任意;
buildVectorHats:()=>任何;
获取箭头:()=>任何;
删除箭头:()=>任何;
}
我的理解是,这将简单地将这些选项合并到现有的
Polyline
类型定义中。对吗?我走远了吗?我看到其他插件使用如下语法:

project
-node_modules
-src
 | -index.js
 | -leaflet-arrowheads.js
package.json
从“传单”导入*为L
申报模块单张{
//在此处导出接口
}
还有一些人再次使用这样的语法:

project
-node_modules
-src
 | -index.js
 | -leaflet-arrowheads.js
package.json
从“传单”导入{Control}
申报模块说明书{
命名空间控件{
接口控制选项{
//这里有一些定义
}
}
} 
如果这是一个简单的问题,请原谅,我发现typescript文档对于这样的特定情况有点混乱。我想确保我写得正确,以便我的定义与传单及其
L.Polyline
的现有名称空间相适应。问题3:我在
index.d.ts
文件中做事情的方式与这里的其他两个示例有什么区别?谢谢你的阅读