在javascript中访问本地文件

时间:2016-04-27 12:50:18

标签: javascript node.js file electron

我有一个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文件是否应该与应用程序的其余部分放在同一目录中?

1 个答案:

答案 0 :(得分:1)

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

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

您应该在items.yml中引用main.js,如下所示:

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