↓こちらのサイトを参考に、Sketch のプラグインでファイルの保存をしてみました。
Swift の書き方なので、全く同じということではないですが、コードが似ています。
複数のファイルを書き出す時に、保存するディレクトリを選択させたい場合は、
↓こちら。
var openPanel = NSOpenPanel.openPanel();
openPanel.allowsMultipleSelection = false;
openPanel.canChooseDirectories = true;
openPanel.canCreateDirectories = true;
openPanel.canChooseFiles = false;
openPanel.allowedFileTypes = NSImage.imageTypes();
var fileTypes = ["gif","jpg","png"]; //← ディレクトリを選択させるだけならいらない。
var openPanelButtonPressed = openPanel.runModalForDirectory_file_types_( nil, nil, fileTypes );
if ( openPanelButtonPressed == NSFileHandlingPanelOKButton ) {
filePath = openPanel.URL().path();
console.log( 'Save File Path : ' + filePath );
} else {
console.log( 'No Directory is selected.');
return false;
}
NSSavePanel ではなく、NSOpenPanel を使いました。