最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

今日热议:pkg对egg项目打包

来源:博客园


(资料图片仅供参考)

前言项目部署,没做之前以为很简单,不就跟vue一样build一下就行么,然而并不是这样的,在第一次对egg项目打包使用了各种方法,也都无果,最后还是使用了egg官网的项目部署,上传服务器之后解压完,还是能看见源代码,这就让有些人说,你不能把源代码给放在服务器上啊,我也想啊,于是抽出时间对pkg打包进行了一些时间的研究,有所小成,何为小成,小成也,运行之成功,访问之成功,请求之成功也……

一、pkg是什么?pkg在这里是协助打包的工具,更多请看pkg.

二、使用步骤(win&linux)由于服务器的node版本是12的,所以打包就选择了12的版本

1.公共部分

1 config/config.default.js文件下 2  3 const process = require("process"), path = require("path");//这句放在外面 4 config.static = { 5 prefix: "/public", 6 dir: process.cwd() + "/public", 7 }; 8 config.rundir = process.cwd() + "/run"; 9 config.logger = {10 dir: path.join(process.cwd(), "logs", "/"),11 outputJSON: false,12 };13 build.js文件(自己创建)14 15 "use strict";16 const egg = require("egg");17 const workers = Number(process.argv[2] || require("os").cpus().length);18 egg.startCluster({19 workers,20 baseDir: __dirname,21 });22 package.json文件23 24 "scripts": {25 "build": "pkg . --targets node12-win-x64 --out-path ./mydist --debug",//加上这句26 ...27 },28 "pkg": {29 "scripts": [30 "./app/**/*.js",31 "./config/*.js",32 "./config/*",33 "./app.js",34 "./node_modules/nanoid/**/*.js",35 "./node_modules/nanoid/**/*.cjs"36 ],37 "assets": [],38 "targets": [39 "node12-win-x64"40 ]41 },42 "bin": "build.js",

2.windows1.由上面的公共部分可以看出node-12后面是win的,在运行npm run build 之前,先安装一下pkg,命令是npm i -g pkg2.到打包的目录下,可以直接在vscode中进入终端运行,本人是在资源管理中打开再cmd,两者命令输入的命令相同, 名称.exe ,回车就会运行,3.可能遇到的问题,就是运行报pkg或者报node的错误,这个问题可是困扰了两三天,由于我的egg版本是4,改为3就可以了。

3.linux1.把公共部分中的win改为linux,再次打包.2.运行命令为 ./名称 start3.可能遇到的问题,在服务器启了,但是访问不到,可以试试把config/config.default.js文件下的hostname改为0.0.0.0如下:

1 config.cluster = {2 listen: {3 path: "",4 port: 端口号,5 hostname: "0.0.0.0"6 }7 }

总结写了这么多也该有个总结,以上就是本期的内容,只是简单的使用了下pkg,如何打包成win和linux的,以及运行之后所出现问题的介绍,如您有更好的办法,欢迎评论加点赞,我们一同学习……原文链接:https://blog.csdn.net/weixin_44637104/article/details/128181127

关键词: 可以看出 这个问题 是这样的