Electron静态资源

请先阅读资源处理,这适用于渲染器进程。 但是,当我们处理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'
)