繁体   English   中英

为什么节点找不到模块? (即使我不需要它)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM