2016-08-06 87 views
0

我已經爲我的項目設置了gulpfile.ts,這個例子右邊是here on GitHub。 (我將不提供我gulpfile.ts,因爲它基本上是相同的,只是多一點點複雜)設置gulpfile.ts的正確方法

每當我跑了一大口的任務,我得到了這4個錯誤:

[11:53:23] Failed to load external module ts-node/register 
[11:53:23] Failed to load external module typescript-node/register 
[11:53:23] Failed to load external module typescript-register 
[11:53:23] Failed to load external module typescript-require 

我再決定增加作爲(本地)dev-dependency的ts-node。 (全球安裝沒有任何改變)

npm install後和運行一飲而盡任務,然後我得到了這樣的

gulpfile.ts (19,23): Cannot find name 'require'. (2304) 

我沒有找到如何解決這個問題對谷歌的任何一些打字稿錯誤,但看過一些示例gulpfile.ts文件後,我遇到了一種解決方法。加入這一行:

declare var __dirname, require; 

gulpfile.ts的頂部解決的問題,我沒有得到任何錯誤消息了。但是,這似乎是某種骯髒的黑客攻擊。

所以這裏是我的問題:這是一個合法的方式來設置gulpfile.ts

我還看過使用類型和一切的gulpclass文件,但我認爲這對於簡單的構建文件來說太過於矯枉過正了,不是嗎?你有什麼建議?這有什麼最佳做法?

回答

3

這是設置gulpfile.ts的合法方式嗎?

是的,這將工作,人們這樣做。不過,我建議您也將node.d.ts帶入您的項目。 typings install dt~node --global將會訣竅。

+0

然後我需要'/// ''node.d.ts'嗎?我會盡快嘗試,謝謝你的迴應。 – CharlyDelta

+1

'我需要/// <參考...> node.d.ts然後'是的。這裏是一個例子:https://github.com/Microsoft/TypeScript/blob/269b8285387f5a7fdf1a2d2aafa40e96a425576d/Gulpfile.ts#L1 – basarat

+0

謝謝你,比定義這些變量更好的解決方案:) – CharlyDelta