Typescript “的类型脚本类型声明”;package.json“;清单文件?
在TypeScript中键入“package.json”清单文件内容的最佳方式是什么Typescript “的类型脚本类型声明”;package.json“;清单文件?,typescript,npm,typescript-typings,package.json,type-declaration,Typescript,Npm,Typescript Typings,Package.json,Type Declaration,在TypeScript中键入“package.json”清单文件内容的最佳方式是什么 从“fs”导入{promises as fs}; 导出函数loadManifest():Promise{ const manifestPath=`${PROJECT_DIR}/package.json`; 返回fs.readFile(manifestPath,{encoding:'utf-8'}); } 在上面的示例中,我必须使用Promise作为返回类型。然而,有没有更好的办法?也许某个我找不到的地方发布了
从“fs”导入{promises as fs};
导出函数loadManifest():Promise{
const manifestPath=`${PROJECT_DIR}/package.json`;
返回fs.readFile(manifestPath,{encoding:'utf-8'});
}
在上面的示例中,我必须使用Promise
作为返回类型。然而,有没有更好的办法?也许某个我找不到的地方发布了一个包?有一个。最后一条评论指向。这里使用的类型定义似乎是正确的
安装软件包后,您可以这样使用它:
import { promises as fs } from 'fs';
import {JSONSchemaForNPMPackageJsonFiles} from '@schemastore/package';
export function loadManifest(): Promise<JSONSchemaForNPMPackageJsonFiles> {
const manifestPath = `${PROJECT_DIR}/package.json`;
return fs.readFile(manifestPath, { encoding: 'utf-8' }) as Promise<any>;
}
从“fs”导入{promises as fs};
从'@schemastore/package'导入{jsonschemafornpmppackagejsonfiles};
导出函数loadManifest():Promise{
const manifestPath=`${PROJECT_DIR}/package.json`;
返回fs.readFile(manifestPath,{encoding:'utf-8'})作为承诺;
}
导入{
IDependencyMap,
伊恩吉斯,
IPackageJson,
SPDxlicesidApproved
}来自“包json类型”;
常量依赖项:IDependencyMap={
条形图:“^1.0.0”,
baz:“^2.1.0”,
qux:'文件:../src/qux'
};
恒定发动机:发动机={
节点:'>=6.0.1
import {
IDependencyMap,
IEngines,
IPackageJson,
SPDXLicenseIDApproved
} from 'package-json-type';
const dependency: IDependencyMap = {
bar: '^1.0.0',
baz: '^2.1.0',
qux: 'file:../src/qux'
};
const engines: IEngines = {
node: '>=6.0.1 <11.0.0',
yarn: '^1.15.0',
zlib: '^0.14.0'
};
const license: SPDXLicenseIDApproved = 'MIT';
const pkg: IPackageJson = {
name: 'foo',
version: '1.2.3',
dependency,
description: 'This is awesome foo',
engines,
license
};