0

我是NodeJS的新手,很抱歉一个简单的问题。我有一个不太大的程序,但想让我的主web.js文件更清晰一些,并创建几个单独的文件(例如user_login.jsadmin.js等),然后简单地将这些文件的内容粘贴web.js到.

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

管理员.js:

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

用户.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');
4

3 回答 3

2

这个怎么样:

管理员.js

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

网页.js

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

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

于 2013-07-16T14:59:20.657 回答
0

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

Node 有内置的模块vm,它可以帮助你解决你的问题,但是使用它会有很多更多的问题。
例如:您需要将通用上下文传递给您的文件,以便它能够require自行处理。这是非常有问题的,只需编写一些使用module.exportsNode 标准的东西,然后忘记这个 PHP 想法 :)

于 2013-07-16T14:58:45.883 回答
-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);

这就是 node 和 express 的工作方式。include“à la” PHP 是一种反模式,你甚至不应该考虑使用它。

于 2013-07-16T15:07:02.907 回答