NodeJS需要模块不工作

我为我的项目设置passportjs。 我使用passportConfigvariables将护照configuration文件导入到app.js。 我想要passportConfig文件在app.js中运行。

// app.js file var mysql = require('mysql'), passport = require('passport'), passportConfig = require('./passportConfig.js'); // Database var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); 

>

在这里,我不明白为什么我需要再次需要MySQL和护照。 因为我已经在app.js. 当我删除需求时出现一个错误,告诉我包括他们。

 // passport config file // Require var mysql = require('mysql'); var passport = require('passport'), // Database var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); module.exports = function(passport) { // Passport Session - persistent login sessions passport.serializeUser(function(user, done) { done(null, user.id); }); passport.deserializeUser(function(id, done) { var query = 'SELECT * FROM `users` WHERE `id` = ?'; var inserts = [id]; query = mysql.format(query, inserts)... 

这是否意味着passportConfig文件没有在app.js中运行,即使我需要在我的app.js中的文件? 这是我能想到的唯一原因

当你“需要”一个模块。 Node.js包装每个模块。 什么是包装:

包装:给文件的私人范围。 这就是我们需要的每个文件的本地requiremodule对象。

资源

这就是为什么我认为你需要在这两个文件中包含passportmysql