使用白鹭开发微信小游戏,编译到微信小游戏导致"main.js"超过500kb。

需要减少该文件的大小。就想减少当个文件的大小。

开始想压缩js文件。研究发现这个方案不可行。白鹭导出微信小游戏已经压缩了。

所有就想把现有模块进行分离一部分作为第三方插件的形式加入到游戏。这样就可以减少"main.js"的大小。

使用提供的第三方库 http://developer.egret.com/cn/github/egret-docs/Engine2D/projectConfig/libraryProject/index.html

egret create_lib ModulePlugin

执行后只有这二个JSON文件

自行创建上图的文件夹

bin是插件导出目录

libs可以放你编译插件的依赖的库文件

src编译插件放置源码的地方

typings 编译JavaScript库使用的头文件

修改tsconfig.json文件:

{
    "compilerOptions": {
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": false,
        // 是否生成.d.ts文件。 如果是typescript库设置为true,如果是javascript库设置为false
        "declaration": true,  
        "outFile": "bin/ModulePlugin/ModulePlugin.js",  // 生成的库文件的路径
    },
    "include": [
        "libs",

"src"]
}

tsconfig.json是控制编译库的配置文件。

在include增加编译libs。这样就可以添加我们插件依赖的第三方库文件了。实际项目必须有这些库环境。

在ModulePlugin就可以只放库的头文件。让编译通过

修改package.json 文件:

{
   "name": "ModulePlugin",
   "compilerVersion": "5.2.29",
   // 新增一个字段 
   "typings": "typings/demo.d.ts"
}

执行后 egret build ModulePlugin

就可以在bin文件夹看到我们刚才编译的第三方库文件了

白鹭编译自己写的其他模块作为插件使用相关推荐

  1. 通过编译php为httpd的模块实现lamp

    简单罗列基础命令,只分享我的想法! 要求:把php编译成为httpd的模块,实现lamp,并且在httpd上面建立两个虚拟机,一个用于PHPAdmin,另外一个实现discuz. 环境:httpd-2 ...

  2. 如何单独编译Android源代码中的模块

    第一次下载好Android源代码工程后,我们通常是在android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了.以后如果我们修改了And ...

  3. 开源RISC-V处理器(蜂鸟E203)学习(五)A100T-FPGA 移植蜂鸟Hbirdv2,实现Centos下调试器USB识别以及程序编译烧写,并进行C语言仿真

    1.简述 最近购买了一块适合做原型验证FPGA板卡,板卡接口和外设比较丰富,十分适合跑一些小型的SOC工程,比如蜂鸟E203:板卡自带FPGA烧写器和软核CPU的JATG调试器,还有USB接口的UAR ...

  4. 【转】如何单独编译Android源代码中的模块--不错

    原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...

  5. 如何在React Native中写一个自定义模块

    前言 在 React Native 项目中可以看到 node_modules 文件夹,这是存放 node 模块的地方,Node.js 的包管理器 npm 是全球最大的开源库生态系统.提到npm,一般指 ...

  6. 如何将自己写的verilog模块封装成IP核(二)

    =======================第一篇======================= 如何将自己写的verilog模块封装成IP核 将你的设计制作成BlackBox,也就是网表文件,这样 ...

  7. 如何在 React Native 中写一个自定义模块

    前言 在 React Native 项目中可以看到 node_modules 文件夹,这是存放 node 模块的地方,Node.js 的包管理器 npm 是全球最大的开源库生态系统.提到npm,一般指 ...

  8. php ldap 模块,不重新编译为PHP增加LDAP模块的支持

    不重新编译为PHP增加LDAP模块的支持 2018-11-28 安装步骤 1.进入到php安装源码目录 root@vm-199:~/lnmp0.9# cd php-5.3.28root@vm-199: ...

  9. ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)

    Espressif-IDE 环境搭建参看 ESP32学习笔记(50)--搭建环境.编译烧写(Windows+Espressif-IDE) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1. ...

最新文章

  1. 阿里安全开源隐私计算新技术:计算速度快20倍,通信成本低2倍,已登安全顶会...
  2. mysql 错误1136_mysql,_MySQL错误:Error Code: 1136,mysql - phpStudy
  3. Simple Introduction to Dirichlet Process
  4. 加密货币与智能合约的隐私 (四):私人和许可的分类帐
  5. 软件测试作业3:软件测试的16条公理
  6. 单IP无TMG拓扑Lync Server 2013:活动目录
  7. 2009年5月软件设计师考试试题解析全国首发
  8. python中、函数定义可以不包括以下_python函数定义精讲
  9. 用汇编语言实现c语言程序例题,C语言详细例题大全
  10. DMX512协议及对接口电路的分析
  11. 爱词霸、QQ词典、海词在线词典API接口
  12. [BUUCTF]PWN——[BJDCTF 2nd]snake_dyn
  13. [NodeJS] Mongoose Populate 基本使用
  14. 10-不用加减乘除做加法
  15. 树莓派GPIO针脚在python中BCM与BOARD模式
  16. dz plugin.php,解决dz论坛提示“插件不存在或已关闭”
  17. 无线定位技术实验二 TDOA最小二乘定位法
  18. 计算机如何将01变为高低电平
  19. 刷爆朋友圈的 Google AI 小程序,成功把一条线认成了天鹅
  20. 永磁同步电机的直接转矩控制(四)一一一基于滑模转速控制器的DTC

热门文章

  1. 2015美团网面试经验分享
  2. Tengine sysguard模块
  3. SAP配置——生产订单
  4. emoji 编码规则介绍
  5. 自然语言处理与计算机科学的关系
  6. 二叉排序树的定义及基本操作(构造、查找、插入、删除)递归及非递归算法
  7. 【转】TTL电平与RS232电平差异
  8. python3 opencv 图像二值化笔记(cv2.adaptiveThreshold)
  9. 旗舰芯片的新赛道,终于搞清晰了
  10. 浏览器本地存储webStorage