2013-04-18 50 views
2

默認情況下,在PHPStorm 6中編譯的* .js是在與* .ts文件相同的文件夾中創建的。PHPStorm IDE TypeScript文件觀察器

我需要的是編譯的* .js和* .d.js與* .ts文件的子目錄不同。

在簡歷:

  • 我的根文件夾 「項目」

  • 我有一個子文件夾 「TS」 所有* .ts文件所在。

  • 我有一個子文件夾「腳本」,我想要編譯的* .js和* .d.js。

我該如何使用PHPStorm TypeScript文件監視器來完成此操作?

我已經試過了一些宏,像在輸出字段在像文件看守對話框:

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

,但沒有一次成功。

+0

應該與輸出文件觀察器配置[LESS](http://stackoverflow.com/a/15965088/104891)和[JADE](http://stackoverflow.com/a/15505281/104891)類似在不同的子目錄中。 – CrazyCoder

+0

@CrazyCoder:謝謝,這表明我正確的方向,但不能解決我的問題。爲了您的幫助,我在那裏投了兩個答案:D再次感謝。 – diosney

回答

3

感謝@ CrazyCoder的參考資料我(終於!)設法使這工作正常。

輸出文件路徑必須在Arguments參數中指定,而不是在Output路徑中指定。

訣竅是--out不接受文件夾路徑,而是必須使用文件路徑。

查看圖像以獲取全功能配置的參考。

在這種配置的單位是:

  • ts/*.ts文件。

  • scripts/:編譯*.js & *.js.map & *.d.ts文件。

enter image description here

注:在編譯器中的較新版本的正確參數是declaration(無尾s),而不是declarations

+0

好帖子!僅供參考,截圖中有一個錯誤。應該是:'--declaration' NOT'--declarations'(單數不復數)如果你想要.d.ts文件 – JoshuaDavid

+0

謝謝! :)你在'declarations'是'declaration'的部分權利。在舊版本的編譯器中有尾隨's',但現在在新版本中是'declaration'。我更新了答案以反映這一點。 – diosney

5

File Watcher配置中的'Output paths'字段只是告訴IDE在哪裏查找創建的文件(用於自動同步),並且對於正在運行的程序沒有任何意義。打字稿編譯器,它告訴編譯器在哪裏把生成的文件

請嘗試--out選項如下:

參數:--sourcemap $文件名$ --out $ ProjectFileDir $ /腳本/ $ FileNameWithoutExtension $。JS

工作目錄:$ FILEDIR $

輸出路徑:$ ProjectFileDir $ /斌/ $ FileNameWithoutExtension $ .js文件:$ ProjectFileDir $ /斌/ $ FileNameWithoutExtension $ .js.map

希望這有助於