大家好,Stackoverflow用户!
我试图将电子应用程序的所有配置放在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();
})
index.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 start运行应用程序时,代码可以正常工作,但是当您使用electron-forge和squirrel(npm make)将其转换为exe并在安装后尝试运行它时,会抛出一个错误,即无法找到package.json文件。那么您需要指定什么作为文件的路径,以便在构建的应用程序中读取它呢?
我用的是电子锻造。
我找到了解决问题的方法!
而不是
const data = fs.readFileSync('./package.json', 'utf8');
你需要写
const data = fs.readFileSync(__dirname + '/../package.json', 'utf8');