typescript - 如何在 Typescript 中使用自定义服务器构建 next.js 应用程序以进行生产

标签 typescript next.js

我有一个自定义的 express 服务器,我用它来创建一个 api 并托管 next.js 生成的静态内容。当我尝试为生产构建时,它说:

错误:无法在“path/to/project/.next”目录中找到生产版本。在启动生产服务器之前尝试使用“下一次构建”构建您的应用。

最佳答案

next.js 项目和自定义服务器必须分开构建。

  1. 删除所有 .nextdist 文件夹
  2. 在项目根目录中,创建一个名为 tsconfig.server.json 扩展了主要的 tsconfig.json 配置。假设自定义服务器位于文件夹 ./server 中,开发人员希望将输出目录命名为 ./dist
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "module": "commonjs",
    "outDir": "dist",
    "target": "es2017",
    "isolatedModules": false,
    "noEmit": false
  },
  "include": ["server"]
}
  1. package.json 中编辑脚本
"scripts": {
    "build:server": "tsc --project tsconfig.server.json",
    "build:next": "next build",
    "build": "npm run build:next && npm run build:server",
    "start:prod": "NODE_ENV=production node dist/server/index.js",
    ...
}

关于typescript - 如何在 Typescript 中使用自定义服务器构建 next.js 应用程序以进行生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67809981/

相关文章:

reactjs - 如何在 Next.js 中执行客户端数据获取

javascript - 如何在 _app.js 中使用 getStaticProps 在 Next.js 的每个页面中显示从 api 获取的数据

google-analytics - 如何跟踪 next.js 项目中的初始页面浏览量?

javascript - 在 angular6 模板中使用 getter 方法或类变量?

reactjs - 在 NextJS 应用程序中使用 Cypress 组件测试

reactjs - Firebase 身份验证 : getIdToken on every fetch or set cookie?

javascript - 如何在 Angularjs Controller 中使用外部 js 方法

typescript - typescript 权限中的 navigator.canShare() 被拒绝

javascript - 如何禁用图表 ChartJS 中的点击

reactjs - 处理未定义声明文件的正确方法 (index.d.ts)