Nattily Primped Monster

    @egret/protobuf

    1.2.1 • Public • Published

    egret protobuf

    特性

    1. 提供 protobuf.js 基础运行时库
    2. 提供命令行脚本,将 protofile 生成 JavaScript 代码
    3. 生成正确的 .d.ts 代码,以方便 TypeScript 项目使用
    4. 一键配置白鹭引擎的配置文件,无需开发者手动修改配置即可在项目中直接集成
    5. 本项目虽然名为 egret protobuf ,但是理论上支持所有 HTML5 游戏引擎。欢迎使用 PIXI.js , Cocos2d-js , LayaAir 等其他引擎的开发者使用本库。

    原理

    封装了 protobufjs 库及命令行。使用 protobufjs 6.8.4 的运行时库。

    protobufjs 自身存在着 pbts 命令,虽然也可以生成 .d.ts 文件,但是在全局模式而非 ES6 module 的情况下存在一些错误,本项目致力于解决这个问题,使 protobufjs 可以在非 ES6 模块项目中(比如白鹭引擎)中也可以使用 protobufjs

    protobufjs 提供了多种使用方式,由于微信小游戏禁止 eval , new Function 等动态代码形式,所以本项目只提供了生成代码的形式,不支持通过 protobuf.load('awesome.proto') 的方式(因为这种方式也无法在微信小游戏中运行)。

    如何安装

    npm install protobufjs@6.8.4 -g
    npm install @egret/protobuf -g
    

    如何使用

    # 假设用户有个名为 egret-project 的白鹭项目
    cd egret-project
    # 将代码和项目结构拷贝至白鹭项目中
    pb-egret add
    # 将 protofile 文件放在 egret-project/protobuf/protofile 文件夹中
    pb-egret generate
    # 文件将会生成到 protobuf/bundles 文件夹中
    
    

    更新日志

    1.2.0

    添加 keepCase 支持

    1.1.1

    添加 pbconfig.json

    1.0.7

    初始版本

    如何运行 Demo

    下载源代码,使用 egret run egret-project 即可直接运行 demo 项目

    已知问题

    proto 文件中的每一个协议一定要从属于一个 package,否则.d.ts生成会出现错误导致 ts 文件无法正确的找到这些类

    路线图

    • 使用 profobuf 配置文件
    • 集成 egret 构建管线

    Keywords

    none

    Install

    npm i @egret/protobuf

    DownloadsWeekly Downloads

    16

    Version

    1.2.1

    License

    ISC

    Unpacked Size

    575 kB

    Total Files

    9

    Last publish

    Collaborators

    • lightswords
    • ttdd
    • egret-engine
    • wanderwang