2013-05-01 95 views
1

当我从命令行运行grunt时,它工作正常,但是如果我创建Sublime Text 2,构建它似乎可以很好地运行,除了在任何地方process.env。 SOME_VARIABLE被使用,它返回为undefined。Grunt使用Sublime Text 2构建undefined

基本上,从ST2如下:

dest = process.env.CATALINA_HOME + "/webapps/MyApp/" 

回报

"undefined/webapps/MyApp" 

我所有的文件被复制到一个新的“不确定”目录中的项目路径,而不是Tomcat的目录,它是应该部署到。

有什么办法让Sublime Text 2尊重/识别节点的process.env变量?

回答

1

Sublime正在启动一个新的进程来运行您的版本,该版本似乎没有设置环境变量,就像您在命令行中设置的一样。

您可以在构建定义中使用额外的env选项,您可以在其中将必要的环境变量传递给新进程。

它接受一个JSON对象是这样的:

env: {"SOME_VARIABLE": "/full/path/to/something"} 

你可以看看可用的选项和ENV选择的这个链接一些更好的描述:http://sublimetext.info/docs/en/reference/build_systems.html#options

+1

谢谢!在你的文章之后,我搜索了如何格式化** env **选项,并在这里找到了答案:http://stackoverflow.com/questions/8574919/sublime-text-2-custom-path-and-pythonpath 基本上,env需要设置为JSON对象,如下所示: env:{“CATALINA_HOME”:“/ full/path/to/tomcat”} – Jason 2013-05-02 02:50:04

+1

@Jason谢谢,我也会将信息添加到答案中,使其更加完整。 – Jonas 2013-05-11 17:41:27