我正在尝试用node建立一个非常简单的测试。为此,我创建了以下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
文件中的脚本吗?
答案 0 :(得分:1)
您必须运行npm start
而不是node start
。如果要直接使用node
,则应使用node index.js
。但是在这种情况下,npm start
选项将执行相同的操作