【问题标题】:Tell babel to transpile down to NodeJS告诉 babel 转译为 NodeJS
【发布时间】:2021-12-21 23:13:23
【问题描述】:

我使用打字稿,我正在构建一个 lambda 层,但 lambda 层似乎对module.exports.myHelperFunction 而不是exports.myHelperFunction 严格,后者在您尝试导入时不起作用,它会失败。

所以我想要的是如果我有以下代码:

export function myHelperUtility () {
  let a = {};
  return { ...a };
}

它应该转译为:

"use strict";

function myHelperUtility () {
  let a = {};
  return { ...a };
}

module.exports.myHelperUtility = myHelperUtility;

而不是:

"use strict";

exports.__esModule = true;
exports.test = test;

function test() {
  let a = {};
  return { ...a };
}

【问题讨论】:

    标签: babeljs aws-lambda-layers


    【解决方案1】:

    找到了一种让它工作的方法,而不是使用@babel/preset-env,我完全删除了它并使用@babel/plugin-transform-modules-commonjs,并带有以下选项:

    {
      strict: true,
      loose: true,
      importInterop: 'node'
    }
    

    这并没有产生我想要实现的目标,但是因为它删除了 __esmodule_interoprequiredefault,它会起作用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-04
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      相关资源
      最近更新 更多