用正则表达式查找并用ES导入替换所有必需的导入



在VS代码中,我想使用require替换所有导入,并更新导入路径。。。

import myImport = require("path/of/import");

到这个

import myImport from "path/of/import";

本质上。。。

删除要替换为from ""语法的require(" ... ")

我在VS代码中尝试了一些工具和扩展,但它们似乎不起作用。。。所以只想试试Regex。

我不确定这是否是您想要的,但匹配以下内容如何:

import (w+) = require((.*?));?

…并替换为以下内容:

import 1 from 2;


演示:
https://regex101.com/r/gcVbPN/1

const regex        = /import (w+) = require((.*?));?/;
const substitution = 'import $1 from $2;';
const before = 'import myImport = require("path/of/import");'
const after  = before.replace(regex, substitution);
console.log(`${before}n${after}`);

您是否试图永久更改导入?与中一样,您现在希望导入为import MyImport from "path/of/import";,而不需要import myImport = require("path/of/import");?如果是这样的话,您可能会使用VS Code的搜索工具(ctrl+shift+F(,在那里您可以搜索字符串文本,并在整个目录中替换它们。