JavaScript 环境
Sketch 在 JavaScriptCore 中运行 JavaScript 代码,JavaScriptCore 是为 Safari 提供动力的 JavaScript 引擎,具有完整的 ES6 支持。
垫片
对于网络、I/O 操作和其他操作,可以使用与 Node.js 兼容的垫片。Sketch 预装了许多这些模块。
您可以在 GitHub 上找到所有官方垫片。
要查看特定 Sketch 版本(50 及更高版本)安装了哪些模块,请前往 Sketch API 中的
core-modules/package.json
并选择对应版本的发布分支,例如release/53.2
。
使用 macOS 框架和动态 Sketch 运行时
CocoaScript 使所有 macOS 框架和内部 Sketch API 可供 JavaScript 使用。有关更详细的概述,请参阅 CocoaScript 文档。
异步操作
Sketch 插件的 JavaScript 上下文是短暂的。每当运行插件时,都会初始化一个新的 JavaScript 环境,并在脚本完成后销毁。要运行并等待异步操作完成,请使用 fibers 使 JavaScript 环境保持活动状态。
let fiber = require('sketch/async').createFiber()
longRunningAsyncTask(function(res) {
// after completion, tell the fiber we're done
fiber.cleanup()
})