我想在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"}
]
这样做的正确方法是什么?
答案 0 :(得分:1)
您可以查看os-homedir或userhome个包。如果您不想直接使用它们,它们的源代码非常简洁,并说明了获取主目录的跨平台过程。
他们大多在Linux / MacOS上使用process.env.HOME
,在Windows上使用process.env.USERPROFILE
,但也有一些逻辑可以在缺少这些内容时使用。