使用静态资源
当使用 webpack 将所有资源打包在一起时,我们失去了提供资源完整路径的能力。 当我们需要使用像 fs 这样的模块或那些需要资源文件路径的模块时,这一点尤其重要。 electron-webpack 意识到了这个问题并提供了一个解决方案。
您可能已经在 项目结构 中注意到,有一个专门用于静态资源的目录 (static/)。 在这里我们可以放置我们明确不希望 webpack 打包的资源。 那么现在我们如何访问它们的路径呢?
使用 __static 变量¶
类似于 __dirname 在 Node.js 环境中工作时可以为您提供父目录名称的路径,__static 可用于为您提供 static/ 文件夹的路径。 此变量在 development 和 production 中均可用。
用例¶
假设我们有一个静态文本文件 (foobar.txt) 需要使用 fs 读取到我们的应用程序中。 以下是如何使用 __static 变量来获取资源可靠路径的方法。
foobarbizzbuzz
someScript.js (main 或 renderer 进程)¶
import fs from 'fs'
import path from 'path'
/* use `path` to create the full path to our asset */
const pathToAsset = path.join(__static, '/foobar.txt')
/* use `fs` to consume the path and read our asset */
const fileContents = fs.readFileSync(pathToAsset, 'utf8')
console.log(fileContents)
// => "foobarbizzbuzz"