如何使用Electron的内置Node实例来运行任务?

时间:2018-09-23 21:27:02

标签: node.js reactjs electron

我正在开发用Electron构建的devtool来管理React应用程序。该工具可以执行以下操作,例如使用create-react-app创建新项目,运行本地开发服务器,安装依赖项等。

这全部取决于用户在系统上安装了Node,因为用户可以执行的所有任务仅使用child_process来运行CLI命令,例如npm install Xnpx create-react-app some-new-project

由于devtool是针对初学者的,因此如果用户不必首先安装Node.js,那就太好了。鉴于Electron应用程序是基于Node构建的,我想知道在运行这些命令时是否可以使用它。

我已经做过一些研究,并且当Electron Helper设置为ELECTRON_RUN_AS_NODE且路径为{{1时,true可以用作独立的Node客户端。 }}可以通过Electron Helper在应用内发现。

我下载了Yarn的独立副本(因为我不知道如何访问NPM),并且我正在尝试运行以下命令:

process.execPath

使用电子节点和独立的纱线,它看起来像:

yarn create react-app [some-project-name]

这会崩溃,并显示以下错误:

/Users/me/work/.../MacOS/Guppy\ Helper /Users/me/work/.../app/vendor/yarn-1.10.0.js create react-app hello-world

我猜正在发生的事是env: node: No such file or directory Exit code: 127 Command: /usr/local/bin/create-react-app Arguments: /Users/joshuacomeau/guppy-projects/ambitious-storybook Directory: / Output: error Command failed 没有被添加到PATH中,因此,当yarn尝试运行节点子流程来运行create-react-app时,它不知道“电子助手”。

我也许可以将node的符号链接添加到“ Electron Helper`”,然后将该符号链接添加到PATH,但这开始变得非常复杂,而且并不完全跨平台。

有没有更简单的方法?

0 个答案:

没有答案