这些天来,我一直在与babel玩弄,以使代码适合目标浏览器。要求替换代码中的字符串。 为了实现上述场景,我在npm上找到了一些插件(例如:babel-plugin-string-literal-replace等) 这是我替换字符串所需的代码
import ky from "./utils/ky.js";
import debounce from "../../node_modules/lodash.debounce/index.js";
import Navigate from "../../node_modules/navigo/lib/navigo.es.js";
export default async function() {
//code goes here
}
我的目标是在编译后实现以下代码
import ky from "./utils/ky.js";
import debounce from "lodash.debounce/index.js";
import Navigate from "navigo/lib/navigo.es.js";
export default async function() {
//code goes here
}
这是我正在使用的.babelrc配置中的插件部分
"plugins": [["transform-string-literal-replace", {"patterns": {"../../node_modules/": ""}}]]
您可以问我为什么../../node_modules/
参与导入,因为模块解析将由环境自动进行。这是因为我将这些作为模块插入到开发阶段的页面中,并在生产阶段进行代码转换和捆绑。
我的问题是,在编译后,字符串不会被替换。是我需要做的任何其他配置才能做到这一点。还是他们的其他选择。我愿意接受想法。