通過的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);