首页 > 其他分享 >代码编译

代码编译

时间:2025-01-16 09:01:37浏览次数:1  
标签:选项 文件 ES5 代码 编译 require

代码编译

将 JS 代码编译成 ES5

开启此选项,开发者工具将使用 babel 将 JS 代码编译成 ES5 标准的代码,以满足运行在低版本手机系统的要求。

在工具 1.05.2106091 版本之后,原有的ES6 转 ES5增强编译 选项统一合并为将 JS 代码编译成 ES5,此功能和原有的增强编译逻辑一致。如需了解旧版本的文档,请点此查看

功能说明:

  • 基于 babel7 实现的,使用preset-env,支持最新的ECMAScript语法,编译目标为 {chrome:53, ios:8}
  • 共享Babel辅助函数,默认放在项目@babel/runtime目录,可通过项目配置文件配置
  • 支持async/await语法,按需注入regeneratorRuntime,目录位置与辅助函数一致
  • 文件首行是// use strict disable;时,即可禁用当前文件严格模式;从 1.05.2108172 版本开始,在 project.config.json 中 setting.disableUseStricttrue 时,可全局禁用严格模式,无需单个文件分别处理。
  • 可通过项目配置文件指定任意文件、目录不经过编译(如:miniprogram_npm)
  • 原有逻辑支持stage0语法,为了向前兼容,引入了一系列 proposal 插件
  • 关于polyfill,基础库中已经引入了大量的es6相关的 polyfill 可参考文档,增强编译下,新增:Array.prototype.includes(es7)、Object.entries(es8)、Object.values(es8)

样式补全

开启此选项,开发工具会自动检测并补全缺失样式,保证在低版本系统上的正常显示。尽管可以规避大部分的问题 ,还是建议开发者需要在 iOS 和 Android 上分别检查小程序的真实表现。

压缩代码

开启此选项,开发者工具在上传代码时候将会帮助开发者压缩和混淆 javascript 代码,减小代码包体积。

代码保护

开启此选项,开发者工具会尝试对项目代码进行保护,主要是对文件进行扁平化处理并替换 require 引用的文件名,以下情况不适合使用此功能

  1. 对于小程序只有简单页面的情况下,开启此功能效果不佳
  2. 有文件超过 500kb,且其中有使用 require 引用项目中的文件的情况,在运行时可能会报文件没有找到
  3. 动态引用的情况,如 var a = 'somefile.js'; require(a);
  4. require 函数赋值给其他变量的情况,如 var a = require; a('somefile.js');
  5. require 作为二元运算符的参数的情况,如 require + 1;
  6. 使用 ... 运算符且未开启 ES6 转 ES5 的情况

启用多核心编译

在四核及以上的电脑上此选项可见。启用此选项,会充分利用 CPU 资源来编译项目的 JS 代码,提高编译的效率。可以选择关闭此选项。

原生支持编译 TypeScript

工具通过以编译插件的方式,改进了对 typescript 项目支持。

相比起之前 Typescript 项目中会同时存在 ts 文件和 js 文件,新的模板只需要创建 ts 文件即可,无需再生成同名的 js 文件。 新的模板无需在每次编译前执行 npm run tsc 命令。 此外,工具还支持将 less 或 sass 文件编译成 wxss 文件。详细请查看原生支持 TypeScript

标签:选项,文件,ES5,代码,编译,require
From: https://www.cnblogs.com/AtlasLapetos/p/18641868

相关文章

  • 常用阈值分割算法及 C++ 代码分析(二)
    一、概述阈值分割是图像处理中一种基础且重要的技术,它的核心思想是通过设定一个或多个阈值将图像中的像素划分为不同的类别,以实现图像中目标和背景的分离,或者不同目标之间的分离。这种技术广泛应用于物体检测、图像识别、医学影像处理、遥感图像处理等众多领域。在C++环境下......
  • 传统图像增强在深度学习神经网络中的应用及代码分析(一)
    摘要在深度学习蓬勃发展的当下,图像数据的质量对神经网络模型的性能有着至关重要的影响。传统图像增强技术作为提升图像质量的重要手段,在深度学习神经网络中发挥着独特而关键的作用。本文深入探讨了传统图像增强在深度学习神经网络中的多方面应用,分析了其在不同领域的应用实例,......
  • 一元多项式的求导(附加代码模式)
    题目描述一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请编写程序对输入的一元多项式进行求导,并输出求导的结果。本题是附加代码模式,主函数main会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉附加代码。附加代码如下:int main(){  ......
  • 代码随想录算法训练营第二十天 | 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/description/文档讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%......
  • 代码随想录Day36 | 1049.最后一块石头的重量 II,494.目标和,474.一和零
    代码随想录Day36|1049.最后一块石头的重量II,494.目标和,474.一和零1049.最后一块石头的重量视为背包问题,求解sum/2容量背包能装下的最大重量返回的是这一部分石头与另一部分的差值的绝对值代码即为经典的01背包问题classSolution{publicintlastSt......
  • X00456-基于金融知识图谱的实体检索系统完整代码文件
    本系统整合了Yago和Dbpedia公开数据集,基于纳斯达克500强公司数据进行抽取,构建了金融领域的知识图谱。系统采用Vue、Django和MySQL技术栈,提供交互式可视化界面,支持实体检索、实体信息查看、相关实体推荐及实体相关新闻等功能。通过这些功能,用户能够更加直观地探索知识图谱,并迅速获......
  • 代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析
    知识点1、PHP审计-原生态开发-SQL注入&数据库语句监控2、PHP审计-原生态开发-SQL注入&正则匹配搜索3、PHP审计-原生态开发-SQL注入&功能追踪代码审计分类:1、原生态开发-代码审计源码案例2、框架类开发-代码审计源码案例3、组件类开发-代码审计源码案例4、前端类开发-代码......
  • 获取阿里巴巴商品详情的高效途径:API调用与代码示例
    在当今电商蓬勃发展的时代,阿里巴巴作为全球知名的B2B平台,汇聚了海量的商品信息。对于开发者和商家而言,能够精准、高效地获取这些商品详情数据,无疑将为业务拓展和决策提供强大助力。本文将为您详细解读如何通过阿里巴巴开放平台API获取商品详情,并附上实用的代码示例,助您轻松上手......
  • 【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-
    【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本背景之前优雅草央千澈在AE特效制作处博文已经完整介绍了本款游戏的素材开发,本文开始把素材利用起来放进去......
  • 实现网页倒计时跳转的JavaScript代码
    在网页开发中,倒计时跳转功能常用于广告页面、活动倒计时或页面跳转提示等场景。下面是一个简单的JavaScript实现,用于在指定时间后自动跳转到另一个页面。该代码会在页面上显示倒计时,并在倒计时结束后跳转到指定的URL。代码实现<spanclass="time"></span><script>var......