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

Windows运行MERN项目Babel启动脚本报'.'不是内部或外部命令如何解决

问题根因

  • 核心报错原因是路径写法系统不兼容:你当前使用Windows系统,package.json的start命令中使用了仅Unix/Linux/macOS支持的./前缀相对路径执行逻辑,Windows的cmd/PowerShell无法识别该写法,因此抛出「'.' 不是内部或外部命令」的错误。
  • 额外潜在问题:项目依赖的mongoose为6.x版本,你当前写的数据库连接配置项中autoReconnect、useNewUrlParser、useUnifiedTopology等参数已经被废弃/默认开启,后续启动后会触发警告甚至连接失败。

解决方案

第一步:修改package.json启动命令

将scripts中的start命令替换为跨平台兼容的写法,npm会自动查找node_modules下的可执行文件,无需手动写全路径:

"scripts": {
  "start": "babel-node --presets node8 ./server.js",
  "test": "echo \"Error: no test specified\" && exit 1"
}

第二步:修正数据库连接配置

修改dbConnection对应的index.js文件中的options参数,适配mongoose 6.x版本规则:

const options = {
    maxPoolSize: 10, // 原poolSize参数在mongoose 6中已更名为maxPoolSize
};

mongoose 6版本默认已经开启useNewUrlParser、useUnifiedTopology、keepAlive配置,无需手动传入;autoReconnect参数已被移除,传入会触发报错。

第三步:重新启动项目

删除本地的node_modules文件夹和package-lock.json文件,执行npm install重新安装依赖后,再运行npm start即可正常启动服务。
如果数据库连接失败,请检查本地MongoDB服务是否已正常启动,且连接地址端口配置正确。

内容的提问来源于stack exchange,提问作者Krishnadev. V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:45:04