gpt4 book ai didi

node.js - 如何在大型 Nodejs/express 应用程序中使用 babel 运行时

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:15 24 4
gpt4 key购买 nike

我想在大型/复杂的 Nodejs 应用程序中使用 babel 运行时。我不想使用 babel require 钩子(Hook),因为该应用程序很大,当我尝试使用它时,出现以下错误:

RangeError: Maximum call stack size exceeded

而且我只想转译一些 JS 文件,至少现在是这样。

babel 文档对于运行时支持有点神秘。安装 babel-runtime 后,它们提供:

require("babel").transform("code", { 可选: ["runtime"] });

该代码包含在哪里? “代码”真的只是一个字符串吗?我尝试将其添加到我的主 app.js 文件(express 3 应用程序)中。不幸的是,这不起作用。

最佳答案

我不能完全理解你的问题,但我想我可以回答部分问题。

babel api 中所述, transform() 函数接受一个应该是要转译的源代码的字符串,并返回一个包含三个属性的对象:

  • code 生成的代码
  • 映射代码的源映射
  • ast 语法树

这意味着,如果您想在文件夹中转译代码,对于要转译的每个文件,您应该使用 fs 实用程序读取该文件,并将其交给 transform() 函数,并将返回的对象中的 code 属性的值写入输出文件夹。

为了简化读取文件的步骤,可以使用babel提供的函数transformFile

至于你提到的 Express 应用程序的问题,我无法提供帮助,除非你提供更多信息。

关于node.js - 如何在大型 Nodejs/express 应用程序中使用 babel 运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31844458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com