Я только что начал новый проект nodejs, используя typescript. Я установил Typings (https://github.com/typings/typings) и использовал это для установки файлов справки для node v4.x и express v4.x.
Моя версия node v4.2.6 Моя версия typescript v1.7.5
Каталог моего проекта выложен таким образом:
package.json
tsconfig.json
typings.json
src/
app.ts
typings/
main.d.ts
main/ambient/node/node.d.ts
main/ambient/express/express.d.ts
Содержимое typings/main.d.ts выглядит следующим образом:
/// <reference path="main/ambient/express/express.d.ts" />
/// <reference path="main/ambient/node/node.d.ts" />
Содержимое tsconfig.json выглядит следующим образом:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs"
}
}
Содержимое off typings.json выглядит следующим образом:
{
"dependencies": {},
"devDependencies": {},
"ambientDependencies": {
"express": "github:DefinitelyTyped/DefinitelyTyped/express/express.d.ts#dd4626a4e23ce8d6d175e0fe8244a99771c8c3f2",
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#1c56e368e17bb28ca57577250624ca5bd561aa81"
}
}
Содержимое src/app.ts выглядит следующим образом:
'use strict';
///<reference path="../typings/main.d.ts"/>
import * as express from "express";
Это чрезвычайно просто и должно привести к базовому приложению. Однако, когда я пытаюсь скомпилировать это, я получаю сообщение об ошибке error TS2307: Cannot find module 'express'.
Я попробовал переупорядочить файлы типизирующих файлов, изменив относительный путь в теге reference path, используя поле files
в tsconfig.json, чтобы указать ссылочные пути вместо использования встроенного тега в файле, но безрезультатно. Я также попытался скомпилировать с помощью gulp-typescript
, gulp-tsc
и tsc
непосредственно в командной строке.
Я получаю подобные ошибки, когда пытаюсь использовать встроенные модули nodejs, такие как crypto
, http
, fs
и т.д.
Эти ссылки кажутся действительными - чего мне не хватает?