我按照此示例here on GitHub为我的项目设置gulpfile.ts
。 (我不会提供我的gulpfile.ts
,因为它基本相同,只是稍微复杂一些)
每当我执行gulp任务时,我都会遇到以下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
然后我决定将ts-node
添加为(本地)dev-dependency。 (全局安装没有改变任何东西)
在npm install
并运行gulp任务后,我得到了一些类似于此的打字错误
gulpfile.ts (19,23): Cannot find name 'require'. (2304)
我没有在google上找到有关如何解决此问题的任何内容,但在查看了一些示例gulpfile.ts
文件后,我遇到了一种解决方法。添加此行:
declare var __dirname, require;
在gulpfile.ts
之上解决了问题,我不再收到任何错误消息了。然而,这似乎是一种肮脏的黑客。
所以这是我的问题:这是设置gulpfile.ts
的合法方式吗?
我还看过使用打字和所有内容的gulpclass文件,但我认为这对于简单的构建文件来说几乎是一种过度杀伤,不是吗?你有什么建议?这方面的最佳做法是什么?
答案 0 :(得分:3)
这是设置gulpfile.ts的合法方式吗?
是的,这将有效,人们会这样做。但是,我建议您也将node.d.ts
带入项目中。 typings install dt~node --global
会做到这一点。