Deskgap 中如何正确调用原生 API 打开系统文件选择框?

付楠 阅读 2

我正在用 DeskGap 开发一个桌面应用,想通过原生 API 调用系统文件选择对话框,但文档看得有点懵。试了 deskgap.dialog.showOpenDialog,结果控制台报错说 dialog 未定义。是不是我引入方式不对?还是 DeskGap 的 API 调用需要特殊配置?

我的 main.js 里是这样写的:

const { dialog } = require('deskgap');
dialog.showOpenDialog({
  properties: ['openFile']
}).then(result => {
  console.log(result.filePaths);
});

但运行直接报 require is not defined,难道 DeskGap 不支持 CommonJS?那该怎么正确调用?

我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
技术兰兰
DeskGap用的是ESM模块系统,不能用require。改成这样:

import { dialog } from 'deskgap';
const result = await dialog.showOpenDialog({
properties: ['openFile']
});
console.log(result.filePaths);


记得把文件后缀改成.mjs或者在package.json里加"type": "module"。另外别用then,直接用await更香。
点赞
2026-03-05 18:03