[英]Access local file in javascript
我有一個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')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.