Next.js 14.1.4执行npm run build报错,请求协助解决
Next.js 14.1.4构建报错:"next export"命令已移除的解决方法
执行npm run build时触发错误:The "next export" command has been removed in favor of "output: export" in next.config.js.
用户提供的next.config.js内容:
/** @type {import('next').NextConfig} */ const nextConfig = { async rewrites() { return [{ source: "\/(t|T)(e|E)(x|X)(t|T)", destination: "\/text" }] }, images: { domains: [ 'naturalproduct.s3.amazonaws.com', 'naturalproductproduction.s3.amazonaws.com', 'naturalproductstaging.s3.amazonaws.com', 'naturalproducttest.s3.amazonaws.com', 'cdn-icons-png.flaticon.com', 'static.vecteezy.com'] }, experimental: { missingSuspenseWithCSRBailout: false, }, env: getEnvConfig() } module.exports = nextConfig function getEnvConfig() { const dotenv = require('dotenv'); const environment = process.env.TARGET_ENV || process.env.NODE_ENV; const envFilePath = `.env.${environment}`; try { const result = dotenv.config({ path: envFilePath }); if (result.error) { throw result.error; } return result.parsed; } catch (err) { console.error(`Error loading environment variables from ${envFilePath}: ${err.message}`); return {}; } }
解决步骤:
修正package.json的build脚本
打开项目根目录的package.json,找到scripts里的build命令,若写法为"build": "next build && next export",删除&& next export部分,修改为:"scripts": { "build": "next build" }在next.config.js中添加output配置
在nextConfig对象中加入output: 'export',修改后的配置文件如下:/** @type {import('next').NextConfig} */ const nextConfig = { async rewrites() { return [{ source: "\/(t|T)(e|E)(x|X)(t|T)", destination: "\/text" }] }, images: { domains: [ 'naturalproduct.s3.amazonaws.com', 'naturalproductproduction.s3.amazonaws.com', 'naturalproductstaging.s3.amazonaws.com', 'naturalproducttest.s3.amazonaws.com', 'cdn-icons-png.flaticon.com', 'static.vecteezy.com'] }, experimental: { missingSuspenseWithCSRBailout: false, }, env: getEnvConfig(), // 新增静态导出配置 output: 'export' } module.exports = nextConfig function getEnvConfig() { const dotenv = require('dotenv'); const environment = process.env.TARGET_ENV || process.env.NODE_ENV; const envFilePath = `.env.${environment}`; try { const result = dotenv.config({ path: envFilePath }); if (result.error) { throw result.error; } return result.parsed; } catch (err) { console.error(`Error loading environment variables from ${envFilePath}: ${err.message}`); return {}; } }
执行以上修改后,重新运行npm run build,构建完成后会在项目根目录生成out文件夹,里面就是静态导出的部署文件。
内容的提问来源于stack exchange,提问作者umesh
相关产品推荐
相关产品推荐

