解析 TypeScript 配置文件时跳过 Emit。

7

我在使用TypeScript时遇到了node-config库的问题。
我的配置文件夹如下:
enter image description here
然而,当我运行tsc并尝试从入口点(app.js)启动我的应用时,我会收到以下错误:
Error: Cannot parse config file: '..../config/development.ts': TypeError: config/development.ts: Emit skipped

当我从该文件夹中删除TypeScript文件,只保留.js文件时它可以工作。有人有想法如何解决这个问题吗?

这是我的tsconfig的样子:

 "target": "es6" 
 "module": "commonjs"
 "strict": true
 "esModuleInterop": true

任何帮助都将不胜感激,谢谢!

看到这条信息的人,问题确实出在 ts-node 库中。 - Michael Ostrovsky
你会如何解决这个问题? - Jay-R Joseph Gabunada
将config文件夹放在src文件夹内。 - Michael Ostrovsky
关于原帖的更新:现在我只是在 src 目录旁边使用 config 文件夹,但是里面的文件我保留为 .js 格式,因为我不需要在那里进行类型检查,所以这样做还算可以。希望 ts-node 中的问题能够尽快解决。 - Michael Ostrovsky
更新更新,显然这解决了ts-node 0.10以上版本的问题。 https://github.com/TypeStrong/ts-node/issues/693#issuecomment-889531876 - Michael Ostrovsky
4个回答

8

位于项目文件夹之外的TypeScript文件会产生“Emit skipped”错误。我无法确定这是否与你的问题有关,因为“..../config/”可能在项目内部或外部。在我的情况下,将配置文件夹移动到我的项目中解决了这个问题。烦人。

https://github.com/TypeStrong/ts-node/issues/693


2
我因为在一个index.ts文件旁边有一个index.js文件而遇到了这个错误。我不知怎么把我的TS渲染到了我的rootDir源文件夹中。
错误和解决方法的终端截图:
> node --loader ts-node/esm src/index.ts

/sandbox/node_modules/ts-node/src/index.ts:944
          throw new TypeError(`${relative(cwd, fileName)}: Emit skipped`);
                ^
TypeError: src/services/index.js: Emit skipped
    at getOutput (/sandbox/node_modules/ts-node/src/index.ts:944:17)
    at Object.compile (/sandbox/node_modules/ts-node/src/index.ts:1243:30)
    at /sandbox/node_modules/ts-node/src/esm.ts:282:37
    at Generator.next (<anonymous>)
    at /sandbox/node_modules/ts-node/dist/esm.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/sandbox/node_modules/ts-node/dist/esm.js:4:12)
    at transformSource (/sandbox/node_modules/ts-node/dist/esm.js:127:16)
    at /sandbox/node_modules/ts-node/src/esm.ts:197:51
    at Generator.next (<anonymous>)
sandbox@sse-sandbox-4stfq:/sandbox$ ls src/services/
index.js  index.ts  user
sandbox@sse-sandbox-4stfq:/sandbox$ rm src/services/index.js

0

0
如果之前的方法都没有解决问题,可以尝试将ts-node更新到10.7版本。这个方法对我很有效。
"ts-node": "^10.7.0",

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接