如何从grunt模板正确访问用户的主目录?

时间:2015-08-18 20:36:59

标签: javascript gruntjs

我想在Grunt文件选择中使用模板将文件复制到用户的主目录(不要问为什么)。

files: [ 
  {src: ['build/my_file.txt'], dest: "<%= grunt.process.HOME %>/my_file.txt"}
]

但这可能不对,因为我得到了这个:

Warning: An error occurred while processing a template (Cannot read property 'env' of undefined)

然而,如果我强制要评估一个javascript语句,它可以正常工作:

files: [ 
  {src: ['build/my_file.txt'], dest: "<%= grunt.process.HOME + '' %>/my_file.txt"}
]

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以查看os-homediruserhome个包。如果您不想直接使用它们,它们的源代码非常简洁,并说明了获取主目录的跨平台过程。

他们大多在Linux / MacOS上使用process.env.HOME,在Windows上使用process.env.USERPROFILE,但也有一些逻辑可以在缺少这些内容时使用。