使用 NodeJS 和 Electron 使用操作系统的默认应用程

Open external file with OS#39; default application (docx with Word, etc.) using NodeJS and Electron(使用 NodeJS 和 Electron 使用操作系统的默认应用程序(带有 Word 的 docx 等)打开外部文件)

本文介绍了使用 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 asynchronous shell.openPath API. shell.openPath docs

这篇关于使用 NodeJS 和 Electron 使用操作系统的默认应用程序(带有 Word 的 docx 等)打开外部文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用 NodeJS 和 Electron 使用操作系统的默认应用程

基础教程推荐