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

Cypress TypeScript项目模块无法识别,请求技术帮助

解决"File '../path/module' is not a module"报错方案

1. 对齐导出与导入的模块规范

你同时用了CommonJS的module.exports导出,又把tsconfig的module设为ES2015(ES模块),两者规则不兼容,必须二选一:

  • 转用ES模块:把模块文件里的module.exports改成ES语法,比如export default class LoginPage {},导入时用import LoginPage from '../pages/login-page';
  • 保留CommonJS:将tsconfig里的module值改为CommonJS,导入时用const LoginPage = require('../pages/login-page')。

2. 修正tsconfig的关键配置

检查tsconfig.json里的这几个配置项:

  • moduleResolution:设置为NodeNext或Node16,让TypeScript自动适配模块解析逻辑;
  • allowJs:如果你的模块是JS文件,设为true,允许TS识别并导入JS模块;
  • rootDir和outDir:确认源码目录和编译输出目录配置正确,避免路径解析混乱。

3. 无index.html项目的特殊处理

如果你的项目是纯Node/自动化测试类项目(比如Playwright、Cypress实现页面对象模式),不需要index.html,那修改script type的提示完全不适用你,重点做这几件事:

  • 检查导入路径的扩展名:TS文件导入可省略.ts,但JS文件导入最好加上.js;
  • 重启VSCode的TypeScript服务:按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入TypeScript: Restart TS Server,清除缓存;
  • 检查package.json:如果用CommonJS,确保package.json里没有"type": "module";如果用ES模块,加上这个字段,它会影响Node的模块解析规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:02:16