请先阅读资源处理,这适用于渲染器进程。 但是,当我们处理Electron时,Quasar CLI还提供了一个方便的__static
变量。 统计信息可以被主进程和渲染进程使用,但由于路径在生产版本构建时(由于打包)而改变,因此使用fs
和其他需要完整路径的模块可能会有点棘手。 所以__statics
可以发挥作用。
WARNING
这些功能要求您不要禁用Node集成。
关于使用__dirname&__filename的主题
由于主进程是使用webpack打包的,因此__dirname
和__filename
的使用不会在生产版本中提供预期的值。 参考文件树,您会注意到在制作过程中,electron-main.js被放置在dist/electron-*
文件夹中。 根据这些知识,相应地使用__dirname
&__filename
。
app.asar
└─ dist
└─ electron-*
├─ statics/
├─ js/...
├─ node_modules/
├─ index.html
├─ package.json
├─ electron-main.js
└─ ...contents of /public
带有fs,path和__statics的静态资源
假设我们有一个静态资源,我们需要使用fs
来读入我们的应用程序,但是我们如何在开发和生产版本中获得可靠的statics/文件夹路径? Quasar提供了一个名为__statics
的全局变量,它将产生一条适当的路径。 以下展示我们如何使用它来读取开发和生产版本中的简单文本文件。
假设我们在/public
中有一个名为someFile.txt
的文件。 现在,在main或renderer进程中,我们可以像这样访问它:
// main or renderer process
import fs from 'fs'
import path from 'path'
let fileContents = fs.readFileSync(
path.join(__statics, '/someFile.txt'),
'utf8'
)