我正在使用webpack和电子,虽然我可以在本地引用我的脚本文件(app / scripts / scriptname.sh),但在生产部署时,我收到错误:Can't open app/components/scripts/scriptname.sh
。
我不清楚这是否是电子依赖性问题或网络包问题。
我使用节点child_process运行它们:
var ls = spawn('sh', ['app/components/scripts/scriptname.sh']);
我不一定需要将脚本放在他们自己的文件夹中,这样才会有所帮助。
答案 0 :(得分:0)
您需要提供脚本的完整绝对路径。为此,您可以使用电子的app.getAppPath() API
app.getAppPath()
返回String - 当前的应用程序目录。
所以你的代码应该是这样的:
var scriptAbsolutePath = app.getAppPath() + '/app/components/scripts/scriptname.sh';
var ls = spawn('sh', [scriptAbsolutePath]);
如果符合您的特定要求,您还可以查看app.getPath(name) API。