我有这个项目结构,其中包含在部署到生产环境之前需要转换的文件。
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做到?