在 package.json 中指定多个类型定义文件
Posted
技术标签:
【中文标题】在 package.json 中指定多个类型定义文件【英文标题】:Specify multiple type definitions files in package.json 【发布时间】:2017-03-29 23:37:26 【问题描述】:我正在为节点库[1] 创建类型定义,但在组织文件时遇到了麻烦。
我已将 typings
字段添加到 package.json 并且效果很好,我遇到的问题是我想指定多个类型定义文件,因为库本身分为两个入口点:
所以我为这两个入口点创建了类型定义,但我不确定如何正确使用typings
字段。这是我的结构(我只包括相关的):
├── index.js
├── native.js
├── package.json
├── typings
│ ├── styled-components-native-test.tsx
│ ├── styled-components-native.d.ts
│ ├── styled-components-test.tsx
│ └── styled-components.d.ts
在styled-components.d.ts
我有主要定义,应该在import styled from "styled-components"
中加载。
在styled-components-native.d.ts
我有本机入口点的定义,应该在import x from "styled-components/native"
加载。
package.json 中的 typings
字段指向 typings/styled-components.d.ts
,但这不会使 styled-components-native.d.ts
定义可用。
我也尝试使用index.d.ts
并引用(使用三斜杠符号)其他两个文件,但没有成功。
那么有没有办法做到这一点?
[1] 这是我的公关https://github.com/styled-components/styled-components/pull/152
【问题讨论】:
【参考方案1】:试试:
├── index.js
├── index.d.ts
├── native.js
├── native.d.ts
这应该正常工作,因为这就是像 @angular/material
这样的包如何为此类导入捆绑它们的类型。
基本上,typescript 编译器会寻找与 javascript 文件同名的 .d.ts
文件。
(编辑:抱歉没有意识到这个问题太老了......无论如何都会在这里留下答案,以防它帮助某人)
【讨论】:
以上是关于在 package.json 中指定多个类型定义文件的主要内容,如果未能解决你的问题,请参考以下文章
npm 脚本使用 package.json 中指定的版本重命名文件
yarn berry foreach 工作区未按 package.json 中指定的顺序构建包
在 aws 上部署应用程序时在 package.json 中指定节点 js 版本
sh 使用package.json(engines.node)中指定的节点版本。使用jq和nvm。如果要安装版本,则会在缺少版本时提示。