编译的SWC插件在Next.js中全部失效,寻求技术帮助
本地编译的SWC插件无法在Next.js中运行的问题
我之前能正常开发SWC插件,但现在任何本地编译的SWC插件都无法在Next.js中运行。我已经在SWC的GitHub仓库多次反馈该问题,但开发者的回复难以理解,而且似乎只有我遇到这个异常。我没有自行编写代码,完全使用SWC官方提供的starter example。另外,我试过多个版本的Rust、swc_core、swc_cli,在Windows虚拟机和Ubuntu环境测试都会导致Next.js崩溃,哪怕降级SWC版本也解决不了问题。
错误复现步骤
- 下载并安装Rust
- 执行命令:
rustup default nightly-2023-03-20 - 执行命令:
cargo install swc_cli - 执行命令:
swc plugin new --target-type wasm32-wasi my-first-plugin - 进入目录:
cd my-first-plugin - 执行命令:
rustup target add wasm32-wasi - 执行命令:
cargo build-wasi --release
Next.js插件配置
安装Next.js后,将编译好的插件文件放到项目根目录,在next.config.js中添加如下配置:
const nextConfig = { experimental: { swcPlugins: [ [require.resolve("./my_first_plugin.wasm"), {}] ], }, } module.exports = nextConfig
相关GitHub讨论记录
- SWC仓库Issue #7381
- SWC仓库Issue #7386
- SWC仓库Discussion #7361
参考文档
- SWC插件入门指南
- SWC插件发布指南
- Next.js create-next-app API参考
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

