Ich versuche, ein Angular JavaScript (ES5) -Projekt Schritt für Schritt in TypeScript 2.0 zu migrieren und muss zugeben, dass ich sehr zu kämpfen habe.
Also zuerst habe ich die index.js zu index.ts geändert und die recommended method of installing typings (npm install --save @types/node
) anstelle der alten typings.json Weg verwendet.Fehlende TypeScript-Typisierung mit browserify + babelify + tsify
Build-Setup verwendet gulp
mit browserify
und jetzt der Einführung tsify
und babelify
als here vorgeschlagen.
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
}
}
jedoch die Erstellung fehl mit:
TypeScript error: .tmp/public/app/index.ts(4,15): Error TS2304: Cannot find name 'require'.
tsify
scheint nicht die insta zu kopieren lilled Typings zum Ausgang dir, der den obigen Fehler verursacht.
Irgendwelche Vorschläge zur Lösung des Problems?
EDIT
Kopieren der node_modules/@ Typen Ordner an der Wurzel meines Laufwerk C: den Fehler beseitigt, aber ich habe keine Ahnung, warum ...
Welche Version von tsify Sie verwenden? – cartant
'" tsify ":"^2.0.2 "' – lenny
Könnten Sie ein [Problem] (https://github.com/TypeStrong/tsify/issues) dafür erstellen? Es sieht wie ein Fehler aus. Sie sollten 'typeRoots' nicht angeben müssen. Könnten Sie auch mehr von Ihrer Konfiguration in das Problem einbeziehen? Ich kann nicht sehen, wie ein Pfad wie '.tmp/public/... 'in Ihrer Fehlermeldung enden sollte. – cartant