访问 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')
我有一个 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')