通过的deb安装依赖节点的想法是不是由于在Windows安装后问题好 - 它不是那么容易写的依赖安装在Windows上。相反,我下载了节点二进制文件,并将节点二进制文件打包为asar包。 我使用的文件选项打包仅适用于平台的建设二进制运行上:
的package.json:
"build": {
"asarUnpack": [
"**/*"
],
"files": [
"!binaries",
"binaries/${os}/${arch}/node",
"src",
"*.html",
"*.js",
"*.tpl",
"*.sh",
"*.json",
"*.md",
"*.lock"
],
感谢asarUnpack选项我拆开包装ASAR和我能够访问节点的二进制文件系统。然后在主进程index.js我构造节点的路径是这样的:
const nodePath = path.join(
process.resourcesPath,
"app.asar.unpacked",
'binaries',
platform == "win32" ? "win" : platform,
arch,
"node"
)
const productionWebpackServerStartPathArgs = [`${process.resourcesPath}/app.asar.unpacked/node_modules/webpack-dev-server/bin/webpack-dev-server.js`, '--config', `${process.resourcesPath}/app.asar.unpacked/webpack.config.js`];
let webpack_dev_server_cmd = crossSpawn(nodePath, productionWebpackServerStartPathArgs);