logo

electron-pack | electron-pack爬坑记

electron-pack是我个人开发的一个方便自己使用的npm安装包。他的诞生经历了不少的坎坷。

1. app .requestSingleInstanceLock is not a function

目测原因:在require的时候,app为undefined,所以肯定是没有。

解决方案:对项目进行打包,希望将第三方插件electron引入进来。

2. Can’t resolve ‘fs’ in ‘D:\packages\npm\node_modules…’

目测原因:在打包的时候似乎是require的问题,node和webpack都有require,但是是不一样的。(只是我的猜想,别喷)

解决方案:

1
2
3
4
5
node: {
fs: 'empty',
net:'empty',
tls:"empty",
}

结果:在后续中运行报错: Uncaught TypeError: fs.existsSync is not a function

1
2
3
{
target:"node"
}

结果:在后续运行中报错:Electron failed to install correctly, please delete node_modules/electron and try installing again

3. 解决2的问题

这样看起来问题挺多的,看了第一个问题,似乎还真有人解决过这个问题,但是他缺少一个文件,而我不缺少,所以先排除了这个问题,甚至是这个解决方法都是错的。直接看后面的错误。

似乎看不出来啥,于是去webpack官网查了下 target 这个参数,里面有很多的参数,悄悄盯了一下,发现很多参数,其中有为electron提供的参数值。改代码:

1
2
3
{
target:"electron-main"
}

​结果:顺利运行​