如何以编程方式打开草图文件然后运行插件脚本?

时间:2019-02-06 20:45:56

标签: sketchapp react-sketchapp sketchapp-plugin

问题:

以编程方式(通过终端/外壳)运行时,是否有任何方法可以确保Sketch应用首先打开文件,然后运行插件脚本?

到目前为止,我已经尝试过:

我试图打开草图文件,然后以编程方式(通过终端)运行插件脚本。

这是插件/脚本代码:

function onRun(context) {

  var sketch = require('sketch')
  var document = sketch.getSelectedDocument()

  log('context: ' + context);
  log('Document name: ' + document.name());
}

这是我在终端中使用的命令,用于打开草图文档并在其上运行插件脚本。

终端命令:

$ sketchtool run /path/of/plugin/pluginExample.sketchplugin "" "/path_of_sketchfile/filename.sketch"

终端命令的输出:

context: {
    api = "<MOJavaScriptObject: 0x6000008213a0>";
    command = "<MSPluginCommand: 0x6000000f9580>";
    document = "<MSDocument: 0x7fd0bfef5b30>";
    plugin = "<MSPluginBundle: 0x6000000f9880>";
    scriptPath = "/path/of/plugin/pluginExample.sketchplugin/Contents/Sketch/run.js";
    scriptURL = "file:////path/of/plugin/pluginExample.sketchplugin/Contents/Sketch/run.js";
    selection =     (
    );
}
TypeError: undefined is not an object (evaluating 'document.name')
line: 8

我怀疑的问题:

问题似乎出在运行插件脚本之前,草图没有打开文件。我确保文件存在于给定的路径。

0 个答案:

没有答案