带有ExpressJS的Node.js包括要使用的外部JS代码文件

用户名

在这里学习NodeJS ...我将这个非常基本的“类”文件放入一个外部JS文件中。如何使所有路由文件和/或其他外部js文件(我也想加载)看到此文件?

/classes/music/usermanager.js

function User(){
    this.email = "";
    this.password = "";
    this.userid = "";
}

function UserManager()
{
    this.user = new User();
}

UserManager.prototype.login = new function (email, password){
    var db = new DbManager();
    db.Open();
    params = {
        $email : email,
        $password : password
    }
    db.serialize(function(){
        db.get("SELECT * FROM Users WHERE email = $email and password =     $password", params, function(err,row) {
        if (!err && row) {
            //log in passed
            this.user.userid = row.user.id;
            this.user.email = row.user.email;
            this.user.password = row.user.password;
            return this.user;
        }
        else if (!err) {
            //log in failed log event
            return null;
        }
        else {
            //error happened through out an event to log the error
            return null;
        }
    });
});
}

/config/strategies/local.strategy.js有关如何在另一个文件中使用它的示例。

var passport = require('passport');
LocalStrategy = require('passport-local').Strategy;

module.exports = function () {
    passport.use(new LocalStrategy({
        usernameField: 'email',
        passwordField: 'password'
    },
    function (email, password, done) {
        //vadliating user here
        var userManager = new UserManager();
        var user = userManager.login(email, password);
        done(null, user);
    }));
};

我试图在我的app.js文件中做类似的事情,并且在编译时说“抛出新的TypeError('app.use()需要中间件功能');”。我发誓我读过某个地方的文章,您可以做到这一点,但现在找不到资源。

/asp.js

/*load external js library files for application use*/
app.use ("./classes/music/:path*");

尝试组织一个nodejs / expressjs项目时,我仍然感觉这里缺少基本的理解。

bbates

您在其中一个示例中实际使用了答案。您可以使用来使模块可用module.exports = whatever;这意味着您可以导出字符串,对象或“类”的任何内容。因此,您可以UserManager通过将其添加到文件末尾(或实际上在任何地方)来进行导出

module.exports = UserManager;

并通过使用其相对文件路径在另一个文件管理器中要求它。因此,如果它在同一目录中。

var UserManager = require('./usermanager.js');

因此,对于需要UserManager的local.strategy.js文件,它看起来像:(如果文件路径都在同一根目录中)

var UserManager = require('../../classes/music/usermanager.js');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用带有Node.js代码的AWS Lambda从URL下载文件

来自分类Dev

使用带有剔除的外部.js文件不应用绑定

来自分类Dev

使用ExpressJS的Node + Q-有序的承诺

来自分类Dev

具有单个节点文件的纯node.js / expressjs http重定向

来自分类Dev

带有Node.js的jQuery DataTables

来自分类Dev

带有Node Js的Heroku调度程序

来自分类Dev

带有node.js的ARP协议

来自分类Dev

带有Laravel 4.2的Node.js

来自分类Dev

带有node.js / jade的Ajax

来自分类Dev

带有https的Node.js代理

来自分类Dev

带有Laravel 4.2的Node.js

来自分类Dev

带有 StatsD 的 Node.js

来自分类Dev

带有 mongoDB 的 Node Js Cli

来自分类Dev

列出带有node.js的文件夹

来自分类Dev

使用带有axios的Node JS下载文件并确定MIME类型,文件类型

来自分类Dev

使用带有Cheerio的Node.js预处理HTML

来自分类Dev

使用带有Recaptcha的Node.js的可变范围问题

来自分类Dev

在 WebStorm 中使用带有 Flow 的 Node.js

来自分类Dev

Node.js-带有循环的Node-MySQL事务

来自分类Dev

使用Node.js以JSON发送PDF文件时要使用的数组格式

来自分类Dev

如何使用带有express和EJS的node.js正确“包含” EJS文件

来自分类Dev

Node.js:指定要使用zlib + tar解压缩的文件

来自分类Dev

带有Angular.js的Node.js / HapiJs

来自分类Dev

带有Node.js Rest API的React.js

来自分类Dev

服务器使用带有 nodejs 和 expressjs 的 twitter api 自行关闭

来自分类Dev

带有js扩展的React文件的GitHub代码突出显示

来自分类Dev

带有续集的ExpressJs

来自分类Dev

带有node.js代理和外部api调用的nginx

来自分类Dev

如何使用带有Maquette.js的外部库?