javascript - 如何为 Node.js 创建模块?

标签 javascript node.js

我有一个简单的代码:

var http = require("http");

var server = http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type" : "text/html"});
    response.write("Hello World");
    response.end();
});

server.listen(8000);

console.log("Server has started.");

我想将此代码放入 server.js。此代码必须是具有许多内部功能的 MODULE。我想在里面创建 server 模块和 listen() 函数。

我应该把 createServer() 放在一个名为 listen() 的函数中。

如果我有 index.js,我该如何调用这个模块,然后执行类似 server.listen() 之类的操作?

最佳答案

nodejs 模块的常见模式是创建一个文件(例如 mymodule.js)所以:

var myFunc = function() {
   ...
};

exports.myFunc = myFunc;

如果您将它存储在目录 node_modules 中,则可以这样导入:

var mymodule = require('mymodule');

mymodule.myFunc(args...);

因此,在您的情况下,您的模块 server.js 可能如下所示:

// server.js
var http = require("http");

var listen = function(port) {
    var server = http.createServer(function(request, response) {
        response.writeHead(200, {"Content-Type" : "text/html"});
        response.write("Hello World");
        response.end();
    });
    server.listen(port);
};

exports.listen = listen;

将被调用:

// client.js
var server = require('server');
server.listen(8000);

关于javascript - 如何为 Node.js 创建模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6269901/

相关文章:

javascript - 前端侧加密: Where to store password throughout session?

javascript - npm install --legacy-peer-deps 究竟做了什么?什么时候推荐/什么是潜在的用例?

node.js - NPM 安装导致 401 Unauthorized for private repo

javascript - 括号内的变量后跟大括号 es6

javascript - Helenus 无法连接

c# - UnityWebRequest.downloadHandler 返回 null,同时从 Node 服务器获取响应

用于查找最近三年内日期的 JavaScript 语法

javascript - Three.js getTangent on curve 应该在曲线上移动时正确旋转我的对象

javascript - Windows 上 npm 运行脚本错误

javascript - 如何在 Vanilla JS 中用下拉菜单替换输入框