原因
pkg可以解析require的导入,js文件可以交给pkg去解析
但如果是读取其他类型文件,又使用了__dirname,在开发环境是没问题的
但在打包后就会有问题
因为开发时__dirname是指向项目目录的,而打包后则指向snapshot
解决办法
需要配置把需要导入的资源放到assets里声明
package.json里新增pkg属性,具体如下
"pkg": {
"assets": [
"assets/**/*"
],
}
如果不添加,以下代码案例就会导致闪退
const txtContent = fs.readFileSync(path.resolve(__dirname,'./assets/aa.txt'), "utf-8");
因为执行文件里是没有aaa.txt,这个读取路径是C:\snapshot\里的
网友评论