当前位置: 首页 > news >正文

webpack吐环境分析

需要解决的问题 扣取下来的webpack文件过大

image.png

解决思路 用ast将需要的代码扣下来 结果展示

image.png

实现步骤

  • 第一步:我们得知道需要哪些模块
    在入口处,增加模块记录
    image.png

  • 第二步,分析ast代码
    image.png
    通过分析发现,key 有三种值 分别为NumbericLiteral、StringLiteral、Identifier
    name可以编写如下代码

let find_function = {ObjectProperty(path) {let node = path.node;if (t.isFunctionExpression(node.value)) {if (t.isStringLiteral(node.key) && decode_function.includes(node.key.value)){let function_name = node.key.value;// console.log("function_name:" + function_name, number += 1)function_final_list.push(generator(node).code)}else if(t.isIdentifier(node.key)&& decode_function.includes(node.key.name)){let function_name = node.key.name;// console.log("function_name:" + function_name, number += 1)function_final_list.push(generator(node).code)}else if(t.isNumericLiteral(node.key)&& decode_function.includes(String(node.key.value))){let function_name = node.key.value;// console.log("function_name:" + function_name, number += 1)function_final_list.push(generator(node).code)}}}
}
  • 注意
    在isNumbericLiteral的方法,由于我在提取时做了String处理,所有后续的node.key.value 也需要做String处理
http://www.xdnf.cn/news/658153.html

相关文章:

  • 为什么使用ollama运行的模型不用gpu也可以使用
  • [攻防世界] easyphp writeup
  • Graph Neural Network(GNN)
  • 如何通过全流量溯源分析系统实现高效的网络质量监控
  • JavaSE核心知识点04工具04-02(IDEA)
  • 关于(stream)流
  • MySQL的基础操作
  • 内网搭建NTS服务器
  • 网络安全之Web渗透加解密
  • 原子操作(Atomic Operations)在SOC中的应用场景
  • 【R语言编程绘图-函数篇】
  • Sparse VideoGen开源:完全无损,视频生成速度加速两倍,支持Wan 2.1、HunyuanVideo等
  • DAY12打卡 启发式算法
  • 基于yjs实现协同编辑页面
  • 学习黑客Metasploit 框架的原理
  • 端午假期 · 粽享欢乐
  • 开源Vue表单设计器 FcDesigner 组件提供的方法详解
  • 《1.1_4计算机网络的分类|精讲篇|附X-mind思维导图》
  • deepseek告诉您http与https有何区别?
  • CQF预备知识:一、微积分 -- 1.4.6 莱布尼茨法则详解
  • Mysql在SQL层面的优化
  • [Java实战]SpringBoot集成SNMP实现OID数据获取:原理、实践与测试(三十三)
  • GitLab 从 17.10 到 18.0.1 的升级指南
  • 动态规划-918.环形子数组的最大和-力扣(LeetCode)
  • SQL Driver
  • 16QAM通信系统设计与实现(上篇)——信号生成与调制技术(python版本)
  • leetcode 525. 连续数组
  • CertiK联创顾荣辉做客纽交所,剖析Bybit与Coinbase事件暴露的Web3安全新挑战
  • 原子操作(C++)
  • 深度体验:海螺 AI,开启智能创作新时代