jxa
直接在 Node 中访问 macOS JavaScript for Automation API
与 osa2 模块类似,但具有同步调用和更多'魔术'的API。 如果您正在构建库,请使用 osa2 。这个模块最适合小脚本。
安装
模块: npm install --save jxa
REPL: npm install -g jxa
用法
与 Apple 官方的自动化运行时 JavaScript 进行交互的方式与这里描述的相同,唯一的区别是,您必须通过要求此模块来获取 Application 对象的句柄。
var Application = require('jxa').Application;
var iTunes = Application('iTunes');
var name = iTunes.currentTrack.name();
var artist = iTunes.currentTrack.artist();
console.log(name + ' by ' + artist);
// Pay No Mind (feat. Passion Pit) by Madeon
iTunes.pause();
// Music pauses
iTunes.play();
// Music plays
如果您全局安装 JXA( npm install -g jxa ),则会提供一个 REPL 来将 Application() 公开在全局范围内。
will@laptop ~ $ jxa-node
> Application('iTunes')
[object JXAReference => [object Application]]
> Application('iTunes').play()
undefined
> Application('iTunes').currentTrack
[object JXAReference => [object ObjectSpecifier]]
> Application('iTunes').currentTrack.name()
'No Problem (feat. Lil Wayne & 2 Chainz)'
>