访问 javascript 中的本地文件

Access local file in javascript

我有一个 js 应用程序(用 Electron 打包),我想在其中加载一个 yaml 文件。由于 app.getAppPath() 允许我访问 app.asar 文件,所以在我打包应用程序时以下工作正常,但在开发中它 returns 路径 \node_modules\electron-prebuilt\dist\resources\default_app.asar.

fs.readFileSync(`${app.getAppPath()}/src/app/data/items.yml`, 'utf8')

有什么办法可以解决这个问题吗?我的 yaml 文件不应该与应用程序的其余部分放在同一目录中吗?

使用 path 模块和 __dirname 内置构建相对于源文件的资产文件路径,相对路径在开发和打包构建之间不会改变。例如,假设以下目录结构:

src/
  app/
    browser/
      main.js
    data/
      items.yml

您应该像这样在 main.js 中引用 items.yml

path.join(__dirname, '..', 'data', 'items.yml')