Node.js模块系统
模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的
node.js
//代码 require('./love') 引入了当前目录下的love.js文件 var love = require('./love'); love.confession(); love.reject();
love.js
// 通过 exports 对象把 confession 作为模块的访问接口
exports.confession = function() { // 告白 console.log('A:我喜欢你!'); } exports.reject = function() { // 拒绝 console.log('B:我们只是好朋友~'); }
输出
node.js
var Reason = require('./love'); Reason = new Reason(); // 实例化模块 Reason.confession(); // 调用模块方法 Reason.reject(); Reason.setName('TK'); Reason.sayReason();
love.js
function Reason() { // 模块 var name; this.setName = function(iName) { //模块内自定义方法 name = iName; }; this.sayReason = function() { console.log(name+':不要喜欢我 , 我一点都不喜欢你!'); }; this.confession = function() { // 告白 console.log('A:我喜欢你!'); } this.reject = function() { // 拒绝 console.log('B:我们只是好朋友~'); } }; module.exports = Reason;
输出
Node.js 函数
在JavaScript中,一个函数可以作为另一个函数接收一个参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。
自定义函数
nodejs.js
function sayLove(name) { console.log(name+'I Love You !'); } function execute(functionName,value) { functionName(value); } execute(sayLove, "Silly Girl");
输出
匿名函数
nodejs.js
function execute(functionName,value) { functionName(value); } execute(function(name){ console.log(name+'I Love You !'); }, "Silly Girl")
输出
Node.js 路由
url构成
url.parse(string).query | url.parse(string).pathname | | | | | ------ ------------------- http://localhost:8888/start?foo=bar&hello=world --- ----- | | | | querystring(string)["foo"] | | querystring(string)["hello"]
实例
nodejs.js
var http = require("http"); var url = require("url"); function onRequest(request, response) { var pathname = url.parse(request.url).pathname; var query = url.parse(request.url).query; var name = url.parse(request.url, true).query.name; var age = url.parse(request.url, true).query.age; console.log('url:' + request.url); // 请求url console.log('pathname:' + pathname); // url路径 console.log('query:' + query); // ?后请求参数 console.log('name:' + name); // 参数name的值 console.log('age:' + age); // 参数age值 response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Get URL"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Server has started.");
运行
http://127.0.0.1:8888/start?name=TK&age=28
引用文字
输出
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。