【发布时间】:2021-09-09 19:03:35
【问题描述】:
概述: 我正在构建一个 TypeScript 声明 NPM/GitHub Packages 库 (https://github.com/jefelewis/typescript-declarations),我想将它导入到我的项目中,但是我在导入到项目中时遇到了问题。
项目:
import { ICoordinates } from 'typescript-declarations';
错误:
Module '"typescript-declarations"' has no exported member 'ICoordinates'.
我的尝试:
- 我试过修改
package.json - 我试过修改
tsonfig.json - 我已经从
src/types/locationTypes.ts导出了type和interface
可能的选择:
- 我是否需要使用
index.ts中的引用,例如https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html#-reference-ing-a-module
src/index.ts
// Imports: TypeScript Types
import * as locationTypes from './types/locationTypes';
import * as measurementTypes from './types/measurementTypes';
// Exports
export {
locationTypes,
measurementTypes,
};
src/types/locationTypes.ts:
// Module: Location Types
declare module locationTypes {
// TypeScript Type: Latitude
export type TLatitude = number;
// TypeScript Type: TLongitude
export type TLongitude = number;
// TypeScript Type: Coordinates
export interface ICoordinates {
latitude: TLatitude;
longitude: TLongitude;
}
}
// Exports
export default locationTypes;
src/types/measurementTypes.ts:
// Module: Measurement Types
declare module measurementTypes {
// TypeScript Type: Measurement (Distance)
export type TMeasurementDistance = 'Kilometers' | 'Miles' | 'Yards' | 'Feet';
// TypeScript Type: Measurement (Length)
export type TMeasurementLength = 'Inches' | 'Feet' | 'Yards' | 'Miles' | 'Light Years' | 'Millimeters' | 'Centimeters' | 'Meters' | 'Kilometers';
// TypeScript Type: Measurement (Speed)
export type TMeasurementSpeed = 'Centimeters Per Second' | 'Meters Per Second' | 'Feet Per Second' | 'Miles Per Hour' | 'Kilometers Per Hour' | 'Knots' | 'Mach';
// TypeScript Type: Measurement (Angle)
export type TMeasurementAngle = 'Degrees' | 'Radians' | 'Milliradians';
}
// Exports
export default measurementTypes;
【问题讨论】:
标签: typescript types typescript-typings