如何在electron中集成npm或者说node
主要会执行命令行调用npm install 和 run
而用户的电脑不一定会有Node环境
所以想集成进去
目前有下载好Node文件放进去,调用execFile
以及一切Node执行命令的API都试过
都是开发环境无任何问题 打包后(并且删掉本地的node模拟无node环境)就不行
请各位大佬指点
主要会执行命令行调用npm install 和 run
而用户的电脑不一定会有Node环境
所以想集成进去
目前有下载好Node文件放进去,调用execFile
以及一切Node执行命令的API都试过
都是开发环境无任何问题 打包后(并且删掉本地的node模拟无node环境)就不行
请各位大佬指点
这个很常见的问题,普通方式开发的软件也会有环境依赖的问题,一般这种是通过NSIS这类封装工具对我们的原始安装包进行二次包装、压缩,这个过程中就可以手动加入nodejs到软件目录下,然后安装时把安装目录下的nodejs指向系统的环境变量,这样就可以全局执行node的各种操作了。重要是的NSIS这类工具还可以对安装包做进一步压缩,减少体积,这对Electron不招人待见的体积控制来说,是个福利啊。
最近也是做了一个纯本地的应用,后端没有打包,只打了前端,在启动软件时用node启动后端服务,关闭软件时结束node进程。
electron自带node环境,配置的时候允许注入就行了
new BrowserWindow({
width: 1920,
height: 1080,
backgroundColor: '#fff',
webPreferences: {
nodeIntegration: true
}
})
6 回答5.2k 阅读✓ 已解决
9 回答9.5k 阅读
5 回答3.7k 阅读✓ 已解决
3 回答10.5k 阅读✓ 已解决
4 回答8.1k 阅读✓ 已解决
7 回答10.1k 阅读
5 回答8.3k 阅读
你需要的是使用
npm
的能力。npm
本身属于nodejs
的一个模块,所以你问题其实可以分成两个来问。1,如何在客户机上静默安装
nodejs
并设置好相应的环境变量。2,如何以编程方式启动
npm
。第一种方式跟平台紧密相关,实现以及后续维护都比较繁琐,好处是有一个完整独立的
nodejs
环境。因为
electron
自身集成了nodejs
,让第二种方法成为可能。给你一个简单的例子
首先在你
electron
项目中本地安装npm之后就可以在业务代码中像普通模块一样使用
npm
了