[英]Why does node.js give me a parsing error even when I'm not trying to parse?
[英]Why can node not find a module? (Even when I'm not requiring it)
我一直在尝试使用require
在同一文件夹中导入 js 文件,但我不断收到此错误:
Error: Cannot find module 'player'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Users/shaham/Code/Typersion/server/items.js:1:14)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
这是代码:
// server.js
var Player = require("./player")
//player.js
A bunch of functions...
module.exports = {
functionNames...
}
文件架构:
server/
-server.js
-player.js
我什至在尝试运行node player.js
时遇到此错误
我究竟做错了什么?
如果您想更深入地了解:这里是 repo: https://github.com/ShahamNoorani/Typersion (您将寻找refactoring
分支)。
我已尝试启动您的代码,但出现错误消息:
user@user ~/git/Typersion (git)-[refactoring] % npm start
> typersion@1.0.0 start /home/user/git/Typersion
> node server/server.js
internal/modules/cjs/loader.js:1023
throw err;
^
Error: Cannot find module 'player'
Require stack:
- /home/user/git/Typersion/server/items.js
- /home/user/git/Typersion/server/enemy.js
- /home/user/git/Typersion/server/server.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1020:15)
at Function.Module._load (internal/modules/cjs/loader.js:890:27)
at Module.require (internal/modules/cjs/loader.js:1080:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/user/git/Typersion/server/items.js:1:14)
at Module._compile (internal/modules/cjs/loader.js:1176:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
at Module.load (internal/modules/cjs/loader.js:1040:32)
at Function.Module._load (internal/modules/cjs/loader.js:929:14)
at Module.require (internal/modules/cjs/loader.js:1080:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/home/user/git/Typersion/server/items.js',
'/home/user/git/Typersion/server/enemy.js',
'/home/user/git/Typersion/server/server.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! typersion@1.0.0 start: `node server/server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the typersion@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/user/.npm/_logs/2020-05-06T21_25_55_323Z-debug.log
它清楚地表明server/items.js
文件中存在问题,甚至指定了 lineno 和 colno,所以基本上通过查看该文件,我可以告诉您忘记在您的 imprt 之前添加./
。
TLDR
在server/items.js
var Player = require("player")
更改为var Player = require("./player")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.