简单包含node.js文件

时间:2013-07-16 14:45:54

标签: node.js

我是NodeJS的新手,对不起一个简单的问题。我有一个不那么大的程序,但是想让我的主web.js文件更清晰一点并创建一些单独的文件(例如user_login.jsadmin.js等)和只需将这些文件的内容粘贴web.js

在互联网上,每个人都建议使用require(),但这意味着要编写一个模块 - 一段自洽的代码。但我需要简单地将一个文件的文本包含在另一个文件中。说,我会

admin.js:

app.get('/admin', function (request, response)
{
    response.send("hey, you are an admin!");
});

user.js的:

app.get('/', function (request, response)
{
    response.send("hi, how are you?");
}

web.js:

var express = require('express');
var app = express();

include('admin.js');
include('user.js');

3 个答案:

答案 0 :(得分:2)

这个怎么样:

<强> admin.js

module.exports = function(app) {
    app.get('/admin', function(request, response) {
        response.send("hey, you are an admin!");
    });
}

<强> web.js

var app = express();
require('./admin.js')(app);

我没有测试它,所以我可能错了。

答案 1 :(得分:0)

你真的没有理由需要这样的东西。

Node有内置模块vm,它可以帮助解决您的问题,但是在使用它时会遇到很多问题。
例如:您需要将一个公共上下文传递给您的文件,因此它可以自己require个事物。这是非常有问题的,只需编写一些使用Node中标准module.exports的内容并忘记这个PHP的想法:)

答案 2 :(得分:-1)

第一

// admin.js
var express=require('express')
var app=express();
app.get('/', function (request, response)
{
    response.send("hey, you are an admin!");
});

module.exports = app;

然后:

// main.js
var express=require("express");
var app = express();
var admin=require("./admin");
app.use("/admin",admin.routes);

节点和快递的工作原理。 include“àla”PHP是一个反模式,您甚至不应该考虑使用它。