首页 > 解决方案 > 节点找不到启动模块

问题描述

我正在尝试使用节点设置一个非常简单的测试。为此,我创建了以下内容package.json

{
  "dependencies": {
    "express": "*"
  },
  "scripts": {
    "start": "node index.js"
  },
  "name": "course-43",
  "version": "1.0.0",
  "description": "Simple test",
  "main": "index.js",
  "devDependencies": {},
  "author": "",
  "license": "ISC"
}

然后我使用“npm install”安装了依赖项,并执行了“node start”命令,输出以下错误:

$ node start
internal/modules/cjs/loader.js:800
    throw err;
    ^

Error: Cannot find module 'C:\[...]\Course-43\start'
?[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)?[39m
?[90m    at Function.Module._load (internal/modules/cjs/loader.js:690:27)?[39m
?[90m    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)?[39m
?[90m    at internal/main/run_main_module.js:17:11?[39m {
  code: ?[32m'MODULE_NOT_FOUND'?[39m,
  requireStack: []
}

node start命令与我的 package.json 文件在同一目录中执行。

有人可以帮我理解为什么 node.js 试图加载文件而不是我package.json文件中的脚本吗?

标签: node.js

解决方案


您必须运行npm start而不是node start. 如果你想node直接使用,那么你应该使用node index.js. 但是npm start在这种情况下,该选项将执行相同的操作


推荐阅读