在javascript中访问本地文件

Access local file in javascript

本文关键字:文件 访问 javascript      更新时间:2023-09-26

我有一个js应用程序(与Electron打包在一起),我希望在其中加载一个yaml文件。当我打包应用程序时,以下内容有效,因为app.getAppPath()使我可以访问app.asar文件,但在开发中它返回路径'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')