使用Babel进行转码时如何更改导入路径?

我有这个项目结构,其中包含在部署到生产环境之前需要转换的文件。

srcApp (FOLDER)
  Component1.js // WRITTEN IN ES6
srcFunctions (FOLDER)
  Function1.js  // WRITTEN IN ES6

我们得到了:

Function1.js

import Component1 from '../srcApp/Component1';

function Function1() {
  // DO SOMETHING
  // RETURN SOMETHING
}

export default Function1;

Component1.js

import React from 'react';

function Component1() {
  // RETURN SOMETHING
}

我需要什么

我需要使用Babel转换两个文件。

我需要将它们发送给:

distApp (FOLDER)
  Component1.js // THIS IS THE TRANSPILED VERSION
distFunctions (FOLDER)
  Function1.js // THIS IS THE TRANSPILED VERSION

但是现在必须将Function1.js原始文件中的导入内容转换为:

import Component1 from '../srcApp/Component1';

// THE IMPORT ABOVE SHOULD BECOME A 'REQUIRE' IN THE TRANSPILED FILE

const Component1 = require('../distApp/Component1');

问题

生成的require应该在与import不同的文件夹中进行编译。导入来自srcApp,需求应来自distApp

在与Babel进行转译时,有没有办法实现这一目标?我应该修改项目结构使其更容易吗?

计划B

在不更改任何内容的情况下转换文件路径,并在转换后运行脚本以将文本直接替换为转换后的文件。这是一个不错的选择吗?还是只能用babel做到?

sl0359 回答:使用Babel进行转码时如何更改导入路径?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3164804.html

大家都在问