抽象反义词是什么标准答案,具体和抽象是反义词吗

首页 > 经验 > 作者:YD1662024-03-26 14:51:55

第一步我们需要查看 AST 结构,我们可以将文件体复制到我们的 AST 查看辅助工具上进行 AST 结构概览:

抽象反义词是什么标准答案,具体和抽象是反义词吗(17)

可以看到我们想要的内容在 ArrayExpression 中的 elements中,那么接下来我们在代码中该如何操作呢?大家可以先进行尝试~

答案如下:

抽象反义词是什么标准答案,具体和抽象是反义词吗(18)

我们先要找到 ArrayExpression 类型的元素,然后访问该元素下的 elements 属性,就会得到我们想要的值了!

张三 李四 王五 2、修改

我们上面已经实现了通过 AST 结构来查找我们想要的元素,下面我们就可以开始进行操作节点元素了!

首先先看如何修改,这时来了个需求,我们的 Button 组件名称变了,换成了 Button01 ,那我们就得做出相应的修改

接下来我们继续看以下文件,通过查看可以发现有些不同,这个时候多了 find API,而且这个API可以增加参数 { source: { value: "antd" } } 。

这个 API 的目的是只查找 source = antd 的 ImportDeclaration 元素,然后进行替换,Button命名的所在位置在 imported.name,因此我们相应修改该值即可

抽象反义词是什么标准答案,具体和抽象是反义词吗(19)

我们通过运行 node modify.js 便可以看到我们修改后的文件内容,想要使之生效,我们还需要将修改后的内容写会该文件中,我们可以在文件最下方补上下面一段代码:

fs.writeFileSync('./code/demo.js', root.toSource(), 'utf-8')

然后运行代码,这个时候我们就可以发现 demo.js文件内容已经发生了修改。

import React from "react"; import { Button01 } from "antd"; import { moment } from "moment"; var name = ["张三", "李四", "王五"]; 3、新增

有了查,改,接下来就轮到了增了,增的话会比上面复杂些,因为我们需要将我们要新增的内容构建成 AST 结构,然后再往已有的 AST 结构中插入

老样子,我们老朋友需求又来了,之前页面中只用到了 antd 的 Button 组件,那我们页面这个时候还需要用到 antd 的 Select 组件

我们第一步就是要将我们要插入的内容构建成 AST 元素,我们先分析已有的 Button AST 结构长啥样,然后依葫芦画瓢构建即可。

我们分析得到该结构的组成部分由 ImportSpecifier 和 Identifier 组成,ImportSpecifier中包着 Identifier

抽象反义词是什么标准答案,具体和抽象是反义词吗(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.