簡體   English   中英

如何將一些 javascript 代碼從導入批量轉換為需要?

[英]How to bulk convert some javascript code from import to require?

我需要轉換大量的 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');

使用 GNU sed 表示 ERE 的-E\\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");

當然,這是一種非常脆弱的方法......

以防萬一有人想要相反的,請使用:

sed -E 's~const (.*) = require\((.*)\);~import \* as \1 from \2~'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM