Node.js使用run-applescript模块报错,求解决方法
解决方法
方法1:将你的脚本转为ES模块(推荐)
- 在项目目录
/Users/me/JavaScriptPlayground下创建package.json文件,内容如下:
{ "type": "module" }
- 修改脚本文件的导入语句为ES模块格式:
import runAppleScript from 'run-applescript'; (async () => { const appleScript = ` display dialog "yo im talking to you" `; const result = await runAppleScript(appleScript); })();
- 直接执行
node AS-JS.js即可运行脚本。
方法2:在CommonJS脚本中用动态import加载ES模块
如果不想修改项目模块类型,保持脚本为CommonJS,把 require 替换为动态 import():
(async () => { const { default: runAppleScript } = await import('run-applescript'); const appleScript = ` display dialog "yo im talking to you" `; const result = await runAppleScript(appleScript); })();
直接执行 node AS-JS.js 运行,无需修改package.json。
方法3:安装兼容CommonJS的旧版本
run-applescript从v6.0.0开始转为纯ES模块,若想继续用 require 直接导入,可安装v5.x版本:
npm uninstall run-applescript npm install run-applescript@5.0.0
安装完成后你的初始代码就能正常运行。
注意事项
- 不要修改
node_modules内的文件,这类修改会在重新安装依赖时被覆盖,还容易引发未知错误。 - 降级旧版本虽能解决当前问题,但会错过后续功能更新和bug修复,优先推荐前两种方法。
内容的提问来源于stack exchange,提问作者tojo
相关产品推荐
相关产品推荐

