是否可以在 Textmate 中运行 JavaScript?

oal*_*alo 3 javascript textmate macos

如果我现在尝试运行它,我会收到一个 XCode 错误。我需要在我的计算机上安装 JavaScript 解释器吗?

slh*_*hck 9

javascript-tools

首先是javascript-toolsBundle,它提供了一些生产力工具,例如 Lint 语法检查、YUI 压缩、书签创建等。


创建自己的捆绑包

OS X 带有一个 JS 解释器,可以在/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc. 您可以将其符号链接到您的 PATH 以使其随处可用。

例如:

ln -s /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc /usr/local/bin
Run Code Online (Sandbox Code Playgroud)

只需键入以下内容即可检查它是否有效:

jsc
Run Code Online (Sandbox Code Playgroud)

你应该登陆控制台。

在此处输入图片说明

现在,输入 TextMate 并通过转到Bundles » Bundle Editor » Show Bundle Editor打开包编辑。在 JavaScript 包中,通过单击+下面的按钮创建一个新命令。

输入设置为整个文档,将输出设置丢弃。将键盘快捷键设置为Cmd- R。现在,将以下脚本粘贴到命令区域本身:

#!/usr/bin/env ruby

require ENV['TM_SUPPORT_PATH'] + '/lib/escape.rb'

def terminal_script_filepath
  %|tell application "Terminal"
      activate
      do script "jsc -i #{e_as(e_sh(ENV['TM_FILEPATH']))}"
    end tell|
end

open("|osascript", "w") { |io| io << terminal_script_filepath }
Run Code Online (Sandbox Code Playgroud)

这应该如下所示:

在此处输入图片说明

你已经完成了。通过保存 JS 文件并按键盘快捷键来尝试。

在此处输入图片说明


改用 Google 的 V8

您可以安装Google 的 V8 Javascript 引擎,它是免费和开源的,适用于每个主要操作系统。

现在,要安装它,您需要自己构建它,或者使用像Homebrew这样的包管理器。

首先安装 Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Run Code Online (Sandbox Code Playgroud)

然后安装V8引擎:

brew install v8
Run Code Online (Sandbox Code Playgroud)

这需要一段时间来编译。现在,当您完成后,您可以修改上面的脚本以使用 V8。只需将行更改do script为:

do script "v8 #{e_as(e_sh(ENV['TM_FILEPATH']))}"
Run Code Online (Sandbox Code Playgroud)