如何批量转换从导入到需要的一些JavaScript代码?

Moo*_*ker 1 javascript shell awk

我需要转换大量的Javascript文件,用require替换import.显然,手工编辑会让人望而生畏,所以我想用脚本自动化它.如何使用Unix shell脚本完成此操作?以下是我想要替换的模式.该文件的所有其他内容应保持不变.令牌之间的间距可能不一致..

我在考虑awk等,但并不熟悉语法.

import Foo from 'bar'; -> const Foo = require('bar');
import Foo from "bar"; -> const Foo = require("bar");
import {Foo} from "bar"; -> const {Foo} = require("bar");
import {Foo, Bar, baz as Baz} from 'bar' -> const {Foo, Bar, baz as Baz} = require('bar');
Run Code Online (Sandbox Code Playgroud)

Ed *_*ton 6

使用GNU sed for -EEREs和\s//\S空格/非空格的简写:

$ sed -E 's/import(\s+\S+\s+)from\s+(\S+);/const\1= require(\2);/' file
const Foo = require('bar');
const Foo = require("bar");
const {Foo} = require("bar");
Run Code Online (Sandbox Code Playgroud)

当然是一种非常脆弱的方法......