myModule.js
//Use the exports keyword to make properties and methods available outside the module file. exports.nowDate=function() { var date=new Date(); //https://www.w3schools.com/jsref/jsref_obj_date.asp return date.getFullYear() + "/" + (date.getMonth()+1) + "/" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); }
app.js
//Include Node.js Built-in Modules //HTTP module allows Node.js to transfer data over the Hyper Text Transfer Protocol (HTTP). const http = require('http'); //To parse URL strings const url = require('url'); //Include Your Own Module //use ./ to locate the module, that means that the module is located in the same folder as the Node.js file const myModule=require('./myModule'); const hostname = '127.0.0.1'; const port = 3000; //HTTP module can create an HTTP server that listens to server ports and gives a response back to the client. //Use the createServer() method to create a server object: const server = http.createServer((req, res) => { //200 means that all is OK res.statusCode = 200; res.setHeader('Content-Type', 'text/html'); //This req object has a property called "url" which holds the part of the url that comes after the domain name: res.write('the part of the url that comes after the domain name: ' + req.url + ''); var queryObj=url.parse(req.url,true).query; //if the url is http://127.0.0.1:3000/?name=Peter var name=queryObj.name; if(name!=undefined) { res.write('name : ' + name + '') } //write a response to the client res.write('The date and time are currently: ' + myModule.nowDate() + ''); res.end('end the response'); }); //the server object listens on port XXX server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
The client sends a request on the web browser : http://127.0.0.1:3000/?name=Peter
Output from The Program
the part of the url that comes after the domain name: /?name=Peter name : Peter The date and time are currently: 2018/2/26 17:37:20 end the response
Node.js Modules
Node.js HTTP Module
0 留言