默认情况下,在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
但他们都没有工作。
答案 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
个文件。
注意:在较新版本的编译器中,正确的参数为declaration
(不会尾随s
)而不是declarations
。