如何为Node.js创建模块
How to create modules for 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);
旧帖子,但如果有人仍然感兴趣,我建议以下解决方案:
//server.js
var http = require("http");
// As soon as method will be used outside the module, use "this":
this.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);
};
//index.js
var module = require('./server');
module.listen(8000);
// main.js
var server = require("server");
server.listen(8000);
console.log("Server has started.");
// server.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();
});
module.exports = server;
相关文章:
- Javascript中的模块模式和揭示模块模式是否仅在创建API时有用;s
- 使用grunt模块创建svg精灵
- 要求创建空模块作为依赖项加载程序
- 使用ES6模块创建JS
- 如何在新创建的模块中从Odoo v8中的Javascript文件中调用python函数
- 如何使用默认函数导出为 commonjs 模块创建类型
- 创建javascript模块
- Node.js创建一个模块来收集内存(ram)信息
- 如何在redux模块中创建一个helper类型的函数,从state返回一组经过过滤的只读数据
- 在创建模块时将订阅初始化为 ko.subscrepable
- 如何在 angularjs 中创建模块
- 创建模块模式的多个对象
- karma-ng-html2js-处理器未创建模块
- 如何在AngularJS上创建模块/插件
- 了解riot.js创建模块化应用程序的特性
- 需要帮助为AngularJS抵押应用创建模块化、即插即用的类型指令
- 用JavaScript创建模块和类
- 为babylon.js场景创建模块
- 如何为Node.js创建模块
- 苹果用什么程序来创建模块化的javascript文件?