繁体   English   中英

为什么您不能在构建的 electron 应用程序中阅读 package.json?

[英]Why can't you read package.json in a builded electron app?

您好 Stackoverflow 用户!

我正在尝试将 electron 应用程序的所有配置放在 package.json 文件中。

这是我的代码片段:
index.js

const { app, BrowserWindow, ipcMain } = require('electron');
const fs = require('fs');

function readConf() {
  const data = fs.readFileSync('./package.json', 'utf8');
  return data;
}

ipcMain.on('synchronous-message', (event, arg) => {
  event.returnValue = readConfig();
})

索引.html

<script type="text/javascript">
const { ipcRenderer } = require('electron')
config = JSON.parse(ipcRenderer.sendSync('synchronous-message', ''))
</script>
<h1>Version of <script>document.write(config.name)</script> is <script>document.write(config.version);</script></h1>

当您通过 npm 启动运行应用程序时,该代码正在运行,但是当您使用电子锻造和松鼠(npm make)将其制作为 exe 并在安装后尝试运行它时会抛出 package.D6466DEEC7F632FC4 文件可以的错误找不到。 那么你需要指定什么作为文件的路径才能在构建的应用程序中读取它?

我正在使用 electron 锻造。

我找到了解决问题的方法!

代替

const data = fs.readFileSync('./package.json', 'utf8');

你需要写

const data = fs.readFileSync(__dirname + '/../package.json', 'utf8');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM