cjs 转 esm 使用 babel插件 babel-plugin-transform-commonjs

原文链接: cjs 转 esm 使用 babel插件 babel-plugin-transform-commonjs

上一篇: vite 尝试和入门

下一篇: airtest IDE 编写 明日方舟 刷钱脚本

主要目的为将cjs文件转换为esm的形式

https://www.npmjs.com/package/babel-plugin-transform-commonjs

需要转化的文件index.js

module.exports = {
  'fs': require('fs'),
  'add': require('./add'),
  'ceil': require('./ceil'),
  'divide': require('./divide'),
  'floor': require('./floor'),
  'max': require('./max'),
  'maxBy': require('./maxBy'),
  'mean': require('./mean'),
  'meanBy': require('./meanBy'),
  'min': require('./min'),
  'minBy': require('./minBy'),
  'multiply': require('./multiply'),
  'round': require('./round'),
  'subtract': require('./subtract'),
  'sum': require('./sum'),
  'sumBy': require('./sumBy')
};

执行转换

const plugin = require('babel-plugin-transform-commonjs')
const fs = require('fs')
const {transformAsync} = require('@babel/core');

const defaults = {
  plugins: [plugin],
  sourceType: 'module',
};

async function main() {
  let p = './index.js'
  const input = fs.readFileSync(p, 'utf-8')

  const {code} = await transformAsync(input, {
    ...defaults,
    sourceType: 'module',
  });
  console.log('code:\n', code)
}

main()

转换结果

import _sumBy from "./sumBy";
import _sum from "./sum";
import _subtract from "./subtract";
import _round from "./round";
import _multiply from "./multiply";
import _minBy from "./minBy";
import _min from "./min";
import _meanBy from "./meanBy";
import _mean from "./mean";
import _maxBy from "./maxBy";
import _max from "./max";
import _floor from "./floor";
import _divide from "./divide";
import _ceil from "./ceil";
import _add from "./add";
import _fs from "fs";
var module = {
  exports: {}
};
var exports = module.exports;
module.exports = {
  'fs': _fs,
  'add': _add,
  'ceil': _ceil,
  'divide': _divide,
  'floor': _floor,
  'max': _max,
  'maxBy': _maxBy,
  'mean': _mean,
  'meanBy': _meanBy,
  'min': _min,
  'minBy': _minBy,
  'multiply': _multiply,
  'round': _round,
  'subtract': _subtract,
  'sum': _sum,
  'sumBy': _sumBy
};
export default module.exports;

Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值