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