一直想实现打包的功能
终于网上有个靠谱的链接了:https://www.jianshu.com/p/02a6e99d7b94
but 按照文档进行总是出现不能正常运行!!!
终于还是解决问题了,感谢:MrSmallLiu/pkg-egg-example 的作者的帮助!
环境:win10 ,node 8.16.1,npm-pkg 6.4.1 打包成 exe
1.上面链接基本上都可以完成打包exe
可能问题a:
?? AssertionError [ERR_ASSERTION]: D:\snapshot\pkg-egg-example\package.json should exist
?? Command Error, enable `DEBUG=common-bin` for detail
经过作者帮助,解决方法为:
在打包入口文件中加入:
console.log(__dirname) //打印所在的snapshot路径,生产环境可以删除 require(__dirname + ‘/node_modules/egg-scripts/bin/egg-scripts.js‘)
在命令行 直接运行 可以看的虚拟文件夹路径
在启动命令中 start 后面加上 路径即可
egg-demo.exe start D:\snapshot\src --port=7001 --title=egg-demo
基本可以正常运行了
可能问题b:
不能正常加载配置文件,验证方法为 查看日志文件路径是否修改成功
如果在 路径是: c:\user\username\logs\title\ 则修改package.js文件
"scripts": [
"./app/router.js",
"./app.js",
"./agent.js",
"./package.json",
"./config/**/*",
"./app/controller/**/*",
"./app/extend/**/*",
"./app/schedule/**/*",
"./app/service/**/*"
],
"assets": [
"./app/view/**/*",
"./app/public/**/*",
"./static/**/*",
"./node_modules/**/*"
]
tips:config.default.js 中
console.log(‘basedir:‘,appInfo.baseDir)//虚拟文件夹下的路径 console.log(‘cur cwd:‘,curdir) //当前运行文件路径 需要写入的文件 使用此路径 如日志 //如: config.rundir =process.cwd()+ ‘/run‘;
到此,我的项目已经可以正常运行了
本文介绍如何将Node.js应用程序使用pkg工具打包为Windows可执行文件(.exe)。通过解决常见错误,如路径问题和配置文件加载失败,确保应用程序能够顺利部署。
266

被折叠的 条评论
为什么被折叠?



