如果我在不同的目录中用 tsconfig.json 调用它,Tsickle 会说 "Error No inputs were found in config file"
Tsickle says "Error No inputs were found in config file" if I call it with tsconfig.json in a different directory
用
挑逗
tsickle --externs=target/externs.js -- -p target/src
我收到这个错误:
Error No inputs were found in config file 'target/src/tsconfig.json'. Specified 'include' paths were '["./my/pathes/**/*.ts"]' and 'exclude' paths were '["some/other/thing"]'.
为什么?考虑到 tsickle
只是 tsc
的包装器,如果我执行等效的 tsc
调用,它会毫无问题地发生。在 tsickle-tsc 交互中一定有什么东西变坏了,但是什么?
根据 this Github 问题,tsickle 与打字稿之间存在一些不兼容问题。
可能是因为双方都不愿意承认是自己的错误,所以有none的人想改正。
解决方案是这样的:给 tsickle 的 tsconfig.json
应该有一个绝对路径,或者这个 tsconfig.json
中的 include:
应该使用绝对路径路径.
考虑到 .json
格式不是一个可配置的东西(例如,你不能简单地在其中提供 include: [ __dirname + '/my/lib/**.ts' ]
设置),可能更好的选择是简单地提供一个挠痒痒的绝对路径。
在我的例子中,我只是将 Gruntfile 中的 arguments: ['-p', 'src/tsconfig.json']
扩展为 arguments: ['-p', __dirname + 'src/tsconfig.json']
。如果您使用不同的构建工具,您的实际解决方案可能会有所不同,但这是重要的部分。
用
挑逗tsickle --externs=target/externs.js -- -p target/src
我收到这个错误:
Error No inputs were found in config file 'target/src/tsconfig.json'. Specified 'include' paths were '["./my/pathes/**/*.ts"]' and 'exclude' paths were '["some/other/thing"]'.
为什么?考虑到 tsickle
只是 tsc
的包装器,如果我执行等效的 tsc
调用,它会毫无问题地发生。在 tsickle-tsc 交互中一定有什么东西变坏了,但是什么?
根据 this Github 问题,tsickle 与打字稿之间存在一些不兼容问题。
可能是因为双方都不愿意承认是自己的错误,所以有none的人想改正。
解决方案是这样的:给 tsickle 的 tsconfig.json
应该有一个绝对路径,或者这个 tsconfig.json
中的 include:
应该使用绝对路径路径.
考虑到 .json
格式不是一个可配置的东西(例如,你不能简单地在其中提供 include: [ __dirname + '/my/lib/**.ts' ]
设置),可能更好的选择是简单地提供一个挠痒痒的绝对路径。
在我的例子中,我只是将 Gruntfile 中的 arguments: ['-p', 'src/tsconfig.json']
扩展为 arguments: ['-p', __dirname + 'src/tsconfig.json']
。如果您使用不同的构建工具,您的实际解决方案可能会有所不同,但这是重要的部分。