如何让Next.js 13+/14+应用在仅支持ES5的Chrome 33旧浏览器运行?
如何让Next.js 14+应用在仅支持ES5的Chrome 33浏览器中运行?
我需要开发基于Next.js 14+的应用,要求能在仅支持ES5的Chrome 33浏览器中运行。但Next.js的部分依赖包(比如@next/font)不支持Babel,我尝试用SWC配置但没找到有效方案。
我已经尝试过以下方法,但都没有效果:
- 配置browserslist:
"browserslist": [ ">0.3%, defaults, supports es5" ] - 修改next.config.js,添加SWC loader的ES5转译配置:
const webpack = require('webpack'); module.exports = { webpack: (config, { dev, isServer }) => { // 使用SWC转译JavaScript文件 config.module.rules.push({ test: /\.(js|jsx|ts|tsx)$/, exclude: /node_modules/, use: [ { loader: "swc-loader", options: { jsc: { target: "es5", // 设置目标为ES5 }, }, }, ], }); return config; } }; - 尝试添加polyfills,问题依旧存在。
另外,用npx create-next-app创建的默认配置项目首次运行时,会抛出错误:Uncaught SyntaxError: Use of future reserved word in strict mode
有没有人成功让Next.js 13+应用在Chrome 33中运行?
内容的提问来源于stack exchange,提问作者Josué Barillas
相关产品推荐
相关产品推荐

