Я с трудом получаю машинописный распознавать форму локального модуля ES6:TypScript не может найти локальный модуль es6; Ошибка TS2307: Не удается найти модуль
новообращенного-time.js
export const minutes = sec => sec * 60
export const hours = sec => minutes(sec) * 60
export const days = sec => hours(sec) * 24
export const weeks = sec => days(sec) * 24
export const years = sec => days(sec) * 365
Примечание: Я хотел бы чтобы выяснить, как заставить это работать, не меняя convert-time.js
на файл машинописного текста.
Вот файл я пытаюсь импортировать его в:
index.ts
/// <reference path="../typings/convert-time.d.ts" />
import { minutes, days } from '../test/helpers/convert-time'
Вот файл определение типа я создал:
новообращенного время .dts:
declare module "convert-time" {
export function minutes(sec: number): number;
export function hours(sec: number): number;
export function days(sec: number): number;
export function weeks(sec: number): number;
export function years(sec: number): number;
}
А вот мой TSconfig:
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true,
"jsx": "react"
},
"files": [
"typings/index.d.ts",
"typings/convert-time.d.ts"
],
"exclude": [
"node_modules"
]
}
Шаги пытавшиеся:
- Искал StackOverflow для
error TS2307: Cannot find module
. Большинство вопросов касаются внешних модулей, которые имеют определения типов. Я не мог найти пример локального модуля. - Читать https://www.typescriptlang.org/docs/handbook/modules.html
- Читать https://www.typescriptlang.org/docs/handbook/module-resolution.html
- Добавлено
typings/convert-time.d.ts
в разделеfiles
вtsconfig.json
. - Добавлено
/// <reference path='../../typings/convert-time.d.ts' />
вindex.ts
Ничего из вышеперечисленного не сработало! Какую темную магию я должен научиться, чтобы заставить это работать? Благодаря!
В файле 'compilerOptions' вам нужно иметь' allowJs: true' к разрешить использование файлов JavaScript, иначе это приведет к ошибке. –