Node.js报错:Cannot find module './setuppassport' 求助
解决Node.js中"Cannot find module './setuppassport'"报错
问题场景
我是Node.js新手,跟着教程搭建简易网站,之前运行正常。修改app.js代码后,访问localhost:3000时终端出现模块找不到的报错,已经定位到报错行是var setUpPassport = require("./setuppassport");,但不清楚原因和解决办法。
终端报错信息
node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module './setuppassport' Require stack: - C:\Users\Natasa\Desktop\nodejsapp\app.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:999:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (C:\Users\Natasa\Desktop\nodejsapp\app.js:11:21) at Module._compile (node:internal/modules/cjs/loader:1097:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10) at Module.load (node:internal/modules/cjs/loader:975:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\Natasa\\Desktop\\nodejsapp\\app.js' ] } Node.js v17.3.0 [nodemon] app crashed - waiting for file changes before starting...
我的app.js代码
var express = require("express"); var path = require("path"); var mongoose = require("mongoose"); var bodyParser = require("body-parser"); var cookieParser = require("cookie-parser"); var passport = require("passport"); var session = require("express-session"); var flash = require("connect-flash"); var params = require("./params/params"); var setUpPassport = require("./setuppassport"); //var routes = require("./routes"); var app = express(); mongoose.connect(params.DATABASECONNECTION, {useUnifiedTopology:true, useNewUrlParser:true, useCreateIndex:true}); setUpPassport(); app.set("port", process.env.PORT || 3000); app.set("views", path.join(__dirname, "views")); app.set("view engine", "ejs"); app.use(bodyParser.urlencoded({extended:false})); app.use(cookieParser()); app.use(session({ secret:"doemlfgddfsoi!gjdsf5684561dsf", resave:false, saveUninitialized:false })); app.use(passport.initialize()); app.use(passport.session()); app.use(flash()); app.use("/", require("./routes/web")); app.use("/api", require("./routes/api")); app.listen(app.get("port"), function(){ console.log("Server started on port " + app.get("port")); })
解决建议
- 检查文件是否存在:确认项目根目录(
C:\Users\Natasa\Desktop\nodejsapp)下是否有setuppassport.js文件。如果没有,需要创建该文件,或者对照教程确认是否遗漏了生成该文件的步骤。 - 核对文件名拼写:确保文件名完全匹配,Node.js对文件名大小写敏感(Windows系统虽不强制区分,但保持一致可避免问题),检查是否存在拼写错误,比如写成
setupPassport.js或遗漏后缀。 - 确认文件路径:
./setuppassport表示该文件需与app.js在同一目录下。如果文件在子目录中,需修改路径,比如./auth/setuppassport。 - 检查文件内容:若文件存在,确认内部无语法错误,且通过
module.exports正确导出了模块(比如导出初始化Passport的函数),否则也会导致加载失败。
内容的提问来源于stack exchange,提问作者pastrik
相关产品推荐
相关产品推荐

