dai*_*ail 23 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.");
Run Code Online (Sandbox Code Playgroud)
我想将此代码放入server.js.此代码必须是具有许多内部功能的MODULE.我想在其中创建server模块和listen()功能.
我应该把createServer()一个函数放在里面listen().
如果我有index.js我怎么能调用这个模块然后做类似的事情server.listen()?
Aln*_*tak 58
nodejs模块的常见模式是创建一个文件(例如mymodule.js),所以:
var myFunc = function() {
...
};
exports.myFunc = myFunc;
Run Code Online (Sandbox Code Playgroud)
如果将其存储在目录中node_modules,则可以导入它:
var mymodule = require('mymodule');
mymodule.myFunc(args...);
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,您的模块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;
Run Code Online (Sandbox Code Playgroud)
将被调用:
// client.js
var server = require('server');
server.listen(8000);
Run Code Online (Sandbox Code Playgroud)
旧帖子,但是如果仍然有人感兴趣,我建议采取以下解决方案:
//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);
Run Code Online (Sandbox Code Playgroud)
// 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19483 次 |
| 最近记录: |