很多时候,除了打包图片之外还会有很多其他的文件需要打包,通常情况下是打包到asar文件中去,但是在进行文件的读写的时候反而会给自己带来很多不必要的麻烦。

在打包的时候electron-builder还给我们带来一个额外的选项,将指定的文件、文件夹打包到resources文件夹下。

如何设置

这里需要在vue.config.js中添加

//vue.config.js
module.exports = {
    electronBuilder: {
        builderOptions: {
            ....        // 你的其他设置
            extraResources: [
                {from: './src/dbs', to: 'dbs'}
            ]
        }
    }
}

from中的 ./src/dbs/ 可以使用相对目录,这里指的目录是你整个项目的根目录,当然你也可以使用path.resolve或者path.join甚至直接写路径的方式来指定你想打包的目录。

to中的 dbs 指的是打包到resources下文件夹的名字,然后他会将你指定的目录下所有文件全部复制过去。

路径是什么

这里你可以使用 process.cwd() 来查找应用所在目录,在dev模式下读取到的是你工程文件根目录,在production模式下读取的是你的安装目录。

那么找到我上面代码中to指定的dbs则是这么写

// production
const dbs = process.cwd()+'\\resources\\dbs\\'

// 假设我要访问dbs目录下的1.txt
console.log(dbs+'1.txt')

D:\production\nedb\resources\1.txt

Logo

前往低代码交流专区

更多推荐