Python 2.7
Cocos2d-x-3.17.2
Cocos Console 2.3
Apache Ant 1.9.16
nodejs: v14.17.0
serve: 12.0.1
项目打包在publish
文件夹下
cocos compile -p web -m release
serve
提供简易的http服务npm install serve -g
cd ./publish/html5
serve
├── README.md // ReadMe文档
├── frameworks // Cocos2d.js 框架
├── publish // 项目打包位置
├── res // 资源
│ ├── *.png // 图片资源
│ ├── fonts // 图片资源
│ │ ├── *.ttf // 字体资源
│ ├── blocks.js // 方块相关
│ └── loading.js // 载入资源 & 载入动画
├── src // 源代码
│ ├── app.js // 游戏界面
│ ├── Home.js // 主界面
│ ├── Login.js // 游戏界面
│ ├── Model.js // 菜单界面
│ ├── resource.js // 资源载入
│ ├── matter.js // Matter.js 物理引擎
│ └── decomp.js // 多边形划分库
├── .cocos-project.json // Cocos项目配置
├── project.json // 前端项目配置
├── index.html // 入口网页
由于开发时前后端通信跨域了(前端用cocos run或serve运行,后端用nginx,端口不同),被chrome系浏览器阻止,需要配置一个开发用浏览器:
新建edge(chrome)快捷方式,右键属性,在目标一栏尾部加上--disable-web-security --user-data-dir=[自定义数据路径]
示例:
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --disable-web-security --user-data-dir=D:\User\EdgeDevUserData
原LNMP服务器配置:
ubuntu 18.04.1
nginx 1.14.0
mysql 5.7.36
php 7.2
因为服务器平台不靠谱,没发通知就迁移和回收资源,吐槽一下反正没人看。所以后端改为本地运行。
现本地WNMP配置:
windows10 21H1
nginx 1.18.0
mariaDB 10.5.10
php 7.4.9
tetris
,执行 sources db/*.sql
建立数据表db-begin.php
中的账户名、密码使用下列代码开、关nginx及fastcgi-php(这里设置了fastcgi端口为8001):
php-start.bat
如下:
:set php and nginx path
set php_home=.\php-7.4.9-Win32-vc15-x64\
set nginx_home=.\nginx-1.18.0\
:启动php和nginx
RunHiddenConsole %nginx_home%\nginx.exe -p %nginx_home%
RunHiddenConsole %php_home%\php-cgi.exe -b 127.0.0.1:8001 -c %php_home%\php.ini
php-stop.bat
如下:
taskkill /F /IM nginx.exe > nul
taskkill /F /IM php-cgi.exe > nul
浏览器访问localhost:[nginx端口]
├── db // 数据库表文件
│ ├── auth.sql // 身份鉴定表
│ ├── score.sql // 分数表
│ └── user.sql // 用户表
├── game // 打包后游戏
├── nginx-1.18.0 // nginx环境,自行下载
├── php-7.4.9-Win32-vc15-x64 // php环境,自行下载
├── php-start.bat // 启动脚本
├── php-stop.bat // 关闭脚本
└── tetris // 操作数据库,提供api
├── db_begin.php // 连接数据库
├── login.php // 登录
├── rank.php // 获取排行榜
├── register.php // 注册
└── upload.php // 上传分数
现在大家的nginx端口都是81,冲突问题应该很少了
描述:
在window环境启动nginx时发生端口冲突,无法启动(后台看不到node进程,localhost不能正常访问)
解决:
在nginx/logs
查看日志,若报错:bind() to 0.0.0.0:81 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
,可确定是81端口冲突问题。
方法1:给nginx找一个未占用的端口;
方法2:
netstat -aon|findstr "81"
查询谁占了81端口
tasklist|findstr "XXX"
查看81端口 pid=XXX对应的任务
然后kill那个任务再重启nginx。
描述:
看图,如果均用nginx代理已经不该有跨域发生了,除了localhost和127.0.0.1会被当成两个东西。
解决:
项目里调用是用的这个:
所以普通浏览器访问也是127.0.0.1:81,不要访问localhost:81。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。