PHPStorm IDE TypeScript文件观察器

时间:2013-04-18 13:01:44

标签: typescript filesystemwatcher phpstorm

默认情况下,在PHPStorm 6中,编译的* .js创建在与* .ts文件相同的文件夹中。

我需要的是编译的* .js和* .d.js在与.ts文件相同的子目录中。

简历中:

  • 我有根文件夹“Project”

  • 我有一个子文件夹“ts”,所有* .ts文件都在其中。

  • 我有一个子文件夹“scripts”,我想要编译的* .js和* .d.js。

如何使用PHPStorm TypeScript文件观察器完成此操作?

我在File Watcher对话框的输出字段中尝试了几个宏,如:

$FileParentDir$/scripts/$FileNameWithoutExtension$.js:$FileParentDir$/scripts/$FileNameWithoutExtension$.js.map

但他们都没有工作。

2 个答案:

答案 0 :(得分:5)

File Watcher配置中的“输出路径”字段只告诉IDE在哪里查找创建的文件(用于自动同步),对正在运行的程序没有意义。 TypeScript编译器具有--out选项,告诉编译器将生成的文件放在何处

请尝试以下方法:

参数: - sourcemap $ FileName $ --out $ ProjectFileDir $ / scripts / $ FileNameWithoutExtension $ .js

工作目录:$ FileDir $

输出路径:$ ProjectFileDir $ / bin / $ FileNameWithoutExtension $ .js:$ ProjectFileDir $ / bin / $ FileNameWithoutExtension $ .js.map

希望这有帮助

答案 1 :(得分:3)

感谢@ CrazyCoder的推荐,我(终于!)设法使其工作正常。

您必须在Arguments参数中指定输出文件路径,而不是Output路径中的路径。

诀窍是--out不接受文件夹路径,而是必须使用文件路径。

有关完整功能配置的参考,请参阅图像。

在此配置中,组织是:

  • ts/*.ts个文件。

  • scripts/:已编译*.js& *.js.map& *.d.ts个文件。

enter image description here

注意:在较新版本的编译器中,正确的参数为declaration(不会尾随s)而不是declarations