批量替换require成import

2020-04-14 10:54:47

由于webpack3不在能require 和import混用,使用了一个老的js库,他是混用的。

需要对文件进行改动,改动的还不小。文件特别多。

看来得写脚本了。

不过idea的正则替换不错,稍微研究了下。我用下面的正则表达式进行了替换。


正则表达式如下

var (isArray) = require\((.*?)\)    替换成   import  $1 from $2

实际操作结果如下

var isArray = require('../base/isArray')

替换成了

import  isArray from '../base/isArray'


成功。


参考内容如下

IDEA实现正则批量替换

一、场景

假如:有这样几行代码

<img src="/images/csscreate.png" />

<img src="/images/httpxieyi-.png" />

<img src="/images/jsbibao.png" />

现在需要替换成

<img src="/images/csscreate.png" th:src="@{/images/csscreate.png}" />

<img src="/images/httpxieyi-.png" th:src="@{/images/httpxieyi-.png}" /> 

<img src="/images/jsbibao.png" th:src="@{/images/jsbibao.png}" /> 


二、实现步骤

1. 选中其中一个img中的src部分,比如:src="/images/csscreate.png" ;

2. 按下快捷键 Ctrl + R ;

3. 在编辑器左上方会弹出两个输入框,上面的待替换的字符串,下面的则是替换后的结果;

4. 将上面的输入框中的 src="/images/csscreate.png" 修改为 src="(.*?)" ;

5. 将下面的输入框,填入src="$1" th:src="@{$1}" ;

6. 再点击输入框后面的 replace all 按钮,即替换成功!


分析:

1. src="(.*?) 中的 .*? ,表示替换任意字符;

2. src="$1" th:src="@{$1}" 中的 $1 , 表示取上面正则中第一个花括号匹配的内容;



  • 2019-06-06 16:14:50

    intent-filter的action,category,data匹配规则

    我们知道有两种方式来启动Activity,显示调用和隐式调用。当使用隐式调用时,又会涉及到IntentFilter的匹配规则。我确信大多数开发者很少关注隐式调用,因为平时开发中用到大多数是显示调用。例如:用Intent直接打开一个Activity,或者用Intent通过包名等其他信息打开另外一个应用等。而隐式调用则使用的比较少,当然也不是完全不使用。例如:当我们需要打开浏览器访问某个链接时,手机上可能存在多个浏览器,我们也无法拿到某一个浏览器的包名,那么一般情况下我们会写如下代码:

  • 2019-06-06 17:57:57

    input【type="checkbox"】标签与字体对齐

    今天分享一个比较实用的技巧,在实际项目中我们会经常遇到表单的input标签多选和单选的问题,但是往往由于标签自身的样式和我们项目的风格很不搭调,就不能实现了,今天就来告诉大家怎么去实现吧。

  • 2019-06-10 11:54:52

    html.div禁用点击事件

    今天做项目中偶然误把元素加上了pointer-events属性,结果导致后来在js中给该元素加点击事件不能用,检查了半天才发现是这个属性的问题。之前没有好好研究,于是决定仔细研究一下。

  • 2019-06-12 22:34:16

    PHP身份证号打星号

    一个很简单的问题,想把身份证的号生日的4位隐藏,一开始查函数居然没有看到,然后用了好几个函数处理,觉得太麻烦就上网搜,后来发现有一个函数就能直接处理,我居然没看到~~初学者~~

  • 2019-06-13 10:09:51

    java(Android)跨Module调用对应类方法需求解决方案

    在开发组件化项目中,遇到一个这样的问题,两个不同的Module相互之间没有任何直接依赖关系,现在需求是需要在Module_A中调用Module_B中的某个类的方法,以下为解决此问题的方法;

  • 2019-06-13 11:31:32

    Android Studio接入ARouter以及简单使用

    你可能会说如果我的A module依赖了 B module,那么只要在B里面配置是不是就可以了?绝对不行!无论module之间关系如何,必须要同样配置!包括主项目和library项目!