Open external file with OS#39; default application (docx with Word, etc.) using NodeJS and Electron(使用 NodeJS 和 Electron 使用操作系统的默认应用程序(带有 Word 的 docx 等)打开外部文件)
问题描述
我将 NodeJS/Electron 用于桌面应用程序.
I'm using NodeJS/Electron for a desktop app.
我想做的是用它的操作系统的默认应用程序打开一个文件,比如用 Word 的 .docx.
What I wanna do, is to open a file with it's OS' default application, like .docx with Word.
到目前为止,我尝试的是使用 child_process.spawn、.exec 或 .execFile 的方法,但我什么也没得到.
What I tried so far are approaches using child_process.spawn, .exec or .execFile but I don't get anything.
这是我的实际代码:
var fs = require('fs'),
cp = require('child_process');
cp.spawn(__dirname + '/test.docx');
提前致谢.
推荐答案
使用openItem()
函数由 Electron 的 shell
模块提供,例如:
Use the openItem()
function provided by Electron's shell
module, for example:
const shell = require('electron').shell;
const path = require('path');
shell.openItem(path.join(__dirname, 'test.docx'));
根据文档,shell
模块应该在主/浏览器和渲染器进程中都可用.
According to the docs the shell
module should be available in both the main/browser and renderer processes.
注意:Electron 9.0.0 shell.openItem
API 已替换为异步 shell.openPath
API.shell.openPath 文档
Note: Electron 9.0.0 The
shell.openItem
API has been replaced with an asynchronousshell.openPath
API. shell.openPath docs
这篇关于使用 NodeJS 和 Electron 使用操作系统的默认应用程序(带有 Word 的 docx 等)打开外部文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 NodeJS 和 Electron 使用操作系统的默认应用程
基础教程推荐
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 动态更新多个选择框 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01