无法编译简单的TypeScript node-ts示例
我正在学习https://github.com/TypeStrong/ts-node 。 我写了两个文件作为一个简单的例子。 它们都在同一个目录中,它目前不在package.json中
/package.json /src/build-lib/run-ts.js /src/build-lib/Test.ts
运行ts.js
require('ts-node').register(); const Test = require('./Test.ts').Test; // Tried with and without .ts extension const tester = new Test(); tester.log('Message');
Test.ts
export class Test { log(message: string) { console.log(`Test ${message}`); } }
我正在运行以下脚本:
ts-node src/build-scripts/gen-xml.js
而且我收到以下编译错误
/Users/jmendes/gitclient/vcd-ui/content/core/node_modules/ts-node/src/index.ts:319 throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset)) ^ TSError: ⨯ Unable to compile TypeScript src/build-scripts/Test.ts (7,36): Parameter 'message' implicitly has an 'any' type. (7006) at getOutput (/Users/jmendes/gitclient/vcd-ui/content/core/node_modules/ts-node/src/index.ts:319:17) at /Users/jmendes/gitclient/vcd-ui/content/core/node_modules/ts-node/src/index.ts:350:18
我希望在控制台上看到“testing消息”。
它看起来像你有一个JavaScript文件(run-ts.js),它本身正在注册TypeScript来拦截任何require
调用。
你有没有尝试运行该文件只是node
而不是ts-node
?
对我来说,修复是从package.json
删除ts-node
和typescript
,然后:
npm install ts-node --save-dev npm install -g typescript --save-dev