问题标签 [swc-compiler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
284 浏览

reactjs - 如何配置你为什么用 NextJS 12 渲染

Next.JS 使用 babel 来配置Why Did You Render。

如何在不禁用 SWC 的情况下将其更新到 Next.JS 12?

0 投票
14 回答
14250 浏览

next.js - Next 加载 SWC 二进制文件失败

尝试使用 nextjs npm run dev 运行命令时显示错误 - 无法加载 SWC 二进制文件,请在此处查看更多信息:https ://nextjs.org/docs/messages/failed-loading-swc 。

我尝试在 vercel 页面上卸载节点并使用 16.13 版再次重新安装,但没有成功,但到目前为止没有成功。有小费吗?

另外,我注意到这是 NextJS 讨论页面上的一个当前问题,它与新的基于 Rust 的编译器有关,它比 Babel 更快。

0 投票
2 回答
1751 浏览

javascript - 使用 React 从 Babel 迁移到 SWC

TL;博士

如何翻译这样的节点脚本:

使用SWC而不是 Babel?


语境

我们最近升级了 Next.js 版本。Next.js 现在支持SWC 而不是 Babel。

我们项目中 React 的单元测试是用RITEway编写的。测试命令为:

它首先使用 Babel 转换文件,否则import语句和 JSX 会导致错误。

在我们尝试迁移到 SWC 的过程中,我们对 CLI 不满意。但是,我们找到了@swc-node/register。它允许我们像这样转换我们的命令:

它修复了像import语句这样的新语法,并且这样的测试将运行:

但是,像这样对 React 组件进行测试

仍然抛出以下错误:

我们如何创建该命令以使其与 SWC 一起运行?

0 投票
1 回答
294 浏览

typescript - 如何使用 SWC 生成 TypeScript 代码

我希望在 Rust 中使用SWC来生成一些 TypeScript 代码。不幸的是,发射器似乎只能打印 JavaScript。这是正确的,还是有办法打印 TypeScript?例如,假设我们正在制作以下 AST。

如何获得与programAST 对应的 TypeScript?

0 投票
0 回答
153 浏览

webpack - Webpack - 捆绑`swc-loader`时模块构建失败

我正在开发一个可以自行构建的 Webpack 工具。我第一次能够构建该工具,但是当我第二次尝试重新构建它时,我得到了错误Cannot find module: swc-loaderswc-loader与.交换时存在相同的问题babel-loader。我的预感是这与 webpack 的resolveLoader

这是一个包含该工具的GitHub 存储库。

以下是重现该问题的步骤:

  1. 通过运行捆绑src目录node src/index.js
  2. src通过运行再次捆绑目录node dist/index.js

目标是能够一遍又一遍地运行第 2 步。

0 投票
0 回答
263 浏览

next.js - 如何使用 Turborepo 和 SWC 转换 node_modules

next-transpile-modules非常适合 Next 项目,但是如何为原始 SWC 构建转换模块???我难住了

回购:https ://github.com/deltaepsilon/script-kitty

我从 Turborepo 基础开始,导出了两个包,ui然后command-k导入到名为web. 一旦我添加到文件中ui,一切都很好,如下所示:command-knext.config.js

现在我有了一个名为的新应用程序external,它将是包的独立版本command-k。这将发布到 npm。

我正在使用swc-loader以下配置对其进行转换:

构建时我不断收到以下错误yarn dev

看起来好像swc-loader无法从 Turborepo 包内部导入。如果我内联./command-kinto的内容,它工作正常/packages/command-k/index.tsx,但swc-loader拒绝遵循导入。

0 投票
3 回答
1016 浏览

next.js - 未能加载 SWC 二进制文件

尝试使用 Next.js 运行命令时npm run dev显示error - failed to load SWC binary see more info here: https://nextjs.org/docs/messages/failed-loading-swc.

0 投票
1 回答
73 浏览

typescript - 无法生成 Jest 覆盖率报告

我正在使用 Typescript 开发 Next.js 项目,目前正在使用 SWC 编译器。因此,我使用@swc/jest进行测试。我所有的测试都通过了,但覆盖率报告总是空空如也。这是我的jest.config.js样子:

我的文件结构如下:

输出如下所示:

我在@swc/jest 上创建了一个问题,但我不确定这是他们的问题还是其他问题,所以我想我也会在这里问。

0 投票
1 回答
18 浏览

swc-compiler - 在 .ts 中导入 JSON 文件并使用 SWC 进行编译

我有一个打字稿文件,它可以导入这样的 json 文件:

它在 js 文件中像这样使用 SWC 编译:

但是,SWC 不会复制构建文件夹中的 JSON 文件。因此,我在运行 js 文件时出现错误:

有人能帮助我吗?

编辑:我通过使用require而不是import在 ts 文件中以及使用--copy-filesswc 选项来部分解决它。但是,如果有人有想法,我仍然不想使用require和使用import

0 投票
3 回答
280 浏览

javascript - 带有 JavaScript 的 SWC:如何处理 CSS 导入以及如何绝对导入?

TL;博士

  • 你如何告诉 SWC 编译在 React 组件中导入的 CSS 文件?
  • 你如何告诉 SWC 在测试和 React 组件中编译绝对导入?

这是一个最小的可重现示例。


语境

我们正在从 Babel 迁移到SWC。(我刚才问了一个问题。我正在改进那个问题的答案。)

我们从以下位置迁移命令:

jsconfig.json看起来像这样:

如果我们编写尝试为自包含组件(没有绝对导入,没有 CSS)编译测试,它可以工作:

测试编译良好。

使用 Babel,我们有.babelrc这样的:

样式由 styled-components 处理,而绝对导入则通过module-resolver插件定义。(我们从样式化组件切换到 CSS 模块,这就是我们从.module.cssCSS 文件导入的原因。无论如何......)

如果我们编写测试,我们希望如何使用它们的实际导入来编写它,如下所示:

它失败了:

当我们在 CSS 导入中离开时home-page-component.js,或者使用:

分别,当我们摆脱 CSS 导入时。

我们如何帮助 SWC 理解 CSS(或模拟 CSS 模块)以及我们如何帮助它理解绝对导入?

我们已经设置baseUrljsconfig.json...