簡體   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