You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nx工作区构建NextJS应用启动时报Cannot find module 'typescript'错误

问题根本原因

使用@nrwl/next构建的Next.js应用,默认的next.config.js会引入@nrwl/next/plugins/with-nx插件,该插件运行时依赖typescript模块。而typescript默认被定义为开发依赖(devDependency),当你将构建产物单独拷贝到新环境仅安装生产依赖时,开发依赖不会被安装,因此触发模块缺失报错。

解决方案

方案1:快速修复(兼容所有版本,操作成本最低)

直接将typescript添加到生产依赖中,在项目根目录执行以下命令:

# npm用户
npm install typescript --save
# yarn用户
yarn add typescript

重新执行构建后再打包部署即可,该方案仅会增加极小的部署包体积,对运行无任何影响。

方案2:开启独立输出模式(推荐,Next.js 12及以上版本适用)

你当前使用的Next.js 11.1可先升级到12.x兼容版本,之后修改应用的next.config.js配置:

// apps/sample-one/next.config.js
const { withNx } = require('@nrwl/next/plugins/with-nx');

module.exports = withNx({
  nx: {
    svgr: false,
  },
  // 新增独立输出配置,Next.js会自动打包所有运行所需依赖
  output: 'standalone'
});

重新构建后,完整可运行的产物会生成在dist/apps/sample-one/standalone目录,直接拷贝该目录部署即可,无需额外执行依赖安装命令,也不会出现依赖缺失问题。

方案3:全量依赖安装(不推荐)

如果暂时不想修改配置,拷贝构建产物时需同步将项目根目录的package.json文件拷贝到部署目录,执行npm install --production=false安装所有依赖(包括开发依赖)即可解决问题,该方案会引入大量无用的开发依赖,导致部署包体积显著增大。


内容的提问来源于stack exchange,提问作者Parth Ghiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:06:05