【发布时间】:2018-11-22 03:43:09
【问题描述】:
我正在尝试在 TypeScript 中导入我的 package.json 文件,但它似乎不起作用。具体来说,我只是想导入它,以便我可以访问日志语句的名称和版本属性。比如:
import * as pjson from '../package.json';
// other code here
log.info(`${pjson.name}:${pjson.version}` started on port ...);
我们在其他使用 Node/Babel 的项目中的其他地方也有相同的语法,但我试图围绕这些部分引入一些 TypeScript。在其他地方我们会做类似的事情:
import { name, version} from '../package.json';
但这在这里不起作用。我按照https://www.npmjs.com/package/json-d-ts 的说明进行操作,这至少使我的导入语句中的错误消失了,但现在当我尝试访问属性时,我收到以下错误:
src/index.ts(20,21): error TS2339: Property 'name' does not exist on type 'typeof import("*.json")'.
src/index.ts(20,35): error TS2339: Property 'version' does not exist on type 'typeof import("*.json")'.
有没有办法解决这个问题,还是我只需在某处硬编码这些值(而不是从 package.json 动态检索它们)?也许我可以为import("*.json") 声明一个类型,并在上面定义这些属性?
【问题讨论】:
标签: json typescript