2 Star 2 Fork 2

孢子组 / game-spore-preact

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

H5&H5游戏基础仓库

使用的是 preact+htm 方式构建应用。

这里未使用jsx而使用htm (周边 VScode高亮插件 jsx转htm to-htm

同时,未使用ES6的import而使用AMD规范的 im.js 模块加载器 (~~~require.js已停止维护故废弃~~~ ) 目的在于,希望浏览器直接执行“源码”从而保持灵活轻巧。 浏览器直接执行代码,带来的调试方便,可以基于替换单个模块文件进行线上调试。

由于imjs加载器文件只有2KB,构建时会直接将imjs合并到了main-build.js。

项目基础的依赖( imjs + preact + htm + preact-router + history + linkstate + remjs )打包后min文件只有26KB左右(开启gzip仅为10KB), 如果再加上axios也只有40KB左右(开启gzip仅为15KB)。所以十分轻巧,让移动端飞一般的加载速度!

编译构建的目的是自动更新版本号、压缩文件优化加载速度、对老旧浏览器的支持。

编译构建后,

  • css/index.less 编译为 css/index.css
  • js/lib文件夹的js文件合并为了js/lib/index.js
  • 以main.js入口的模块合并压缩为main-build.out.js
  • package.json中的版本号会更新
  • index.php访问时根据版本号判断是否是正式环境,正式环境使用 css/index.css、js/lib/index.js、main-build.out.js

目录说明

路径 说明
assets/css/index.less 开发用样式 构建时自动编译成 index.css
assets/css/spore.css 公共样式库
assets/css/index.css 正式样式(不要直接修改)
assets/js/main.js 开发环境的入口
assets/js/main-build.js 构建的自动产生的中间代码未压缩
assets/js/main-build.out.js 构建的正式环境入口和模块
assets/js/apis.js 接口配置模块(axios)
assets/js/components 组件目录
assets/js/lib 常用js库目录
assets/js/lib/util.js 工具函数
assets/js/lib/standalone.module.js preact+htm+linkState合并运行库
assets/js/lib/runtime.min.js regenerator-runtime 支撑ES6语法糖async/await的运行时
assets/js/lib/scaleToWindow.js 居中缩放canvas适配窗口
assets/js/lib/fps.js 在屏幕右上角显示当前帧率
assets/js/lib/rem.js rem布局移动端适配 可配置 package.json内的designWidth
... (其它文件可以npm或者github查到库的信息)
build/ 构建配置、脚本目录
dist/ 压缩包生成目录

install

npm i 注:放入php项目目录,浏览器访问运行源码进行开发,所以不构建编译可以不用安装,最终上线时进行一次构建即可。

build

构建开发环境 npm run build:dev

构建正式环境 npm run build:prod

合并js/lib文件夹 npm run build:lib (可以在 build/mergejs.js 内配置黑名单)

构建index.html静态文件 npm run build:index (需要配置php到环境变量)

zip打包 npm run pack (配置见build/packlist.txt)

注:如果构建失败建议使用nodejs的最新版本,对制定兼容浏览器版本,配置可以修改.babelrc

生产环境

环境根据版本号判断,例如,版本号 1.0.1为正式版使用正式环境 版本号为1.0.2dev为开发版(只要包含英文字符)就是开发版,同时使用环境配置为开发环境。

环境配置在 package.json env字段里设置,配置后,在浏览器中可以用window.env 取到对应配置信息。

调试模式

url后接?debug 切换到debug模式。如:http://localhost/?debug 此模式和开发模式类似,需要在package.json里面配置独立的env。

另外,参数r可以跳转页面,如:http://localhost/?r=demo可以跳到对应demo页面

package.json 里通过设置 enableDebug 可以配置是否启用调试模式

ES6特性支持

package.json 拓展配置

title 网站标题

share 分享相关信息,标题 内容 图片

designWidth 配置Rem的设计宽度designWidth 参考rem.js

env 环境变量

enableDebug 开启线上调试功能

技术栈

preact htm imjs less babel

MIT License Copyright (c) 2019 tangoboy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

H5&H5游戏基础仓库,preact开发H5 移动端web 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/SporeTeam/game-spore-preact.git
git@gitee.com:SporeTeam/game-spore-preact.git
SporeTeam
game-spore-preact
game-spore-preact
master

搜索帮助