原因
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\里的