Я пытаюсь шаг за шагом перенести проект Angular JavaScript (ES5) на TypeScript 2.0 и должен признать, что я очень борется.
Итак, сначала я изменил index.js на index.ts и использовал recommended method of installing typings (npm install --save @types/node
) вместо старого типа typings.json.Отсутствующие типы TypScript с браузером + babelify + tsify
установка сборки использует gulp
с browserify
и теперь введения tsify
и babelify
как предложено here.
browserify
//...
.plugin(tsify)
.transform(babelify, {
presets: ['es2015'],
extensions: ['.ts', '.js']
})
//...
tsconfig.json
{
"files": [
"assets/app/index.ts"
],
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
}
}
Однако сборка завершается с:
TypeScript error: .tmp/public/app/index.ts(4,15): Error TS2304: Cannot find name 'require'.
tsify
кажется не копировать Insta lled typings к выходному директорию, которая вызывает вышеупомянутую ошибку.
Любое предложение о том, как решить проблему?
EDIT
Копирование node_modules/@ типов папку в корне моего C: диск устраняет ошибку, но я понятия не имею, почему ...
Какую версию tsify вы используете? – cartant
'' tsify ":"^2.0.2 "' – lenny
Не могли бы вы создать [выпуск] (https://github.com/TypeStrong/tsify/issues) для этого? Это похоже на ошибку. Вам не нужно указывать 'typeRoots'. Не могли бы вы также включить в свою проблему больше своей конфигурации? Я не вижу, как в вашем сообщении об ошибке должен быть указан путь .tmp/public/...'. – cartant