node,js,egg打包exe,跨平台问题处理

一直想实现打包的功能

终于网上有个靠谱的链接了: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‘;

  

到此,我的项目已经可以正常运行了

 

转载:http://www.bubuko.com/infodetail-3303278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值