nodejs 初探 api试用
生活随笔
收集整理的這篇文章主要介紹了
nodejs 初探 api试用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述及安裝:
簡單的說 Node.js 就是運行在服務端的 JavaScript。
Node.js 是一個基于Chrome JavaScript 運行時建立的一個平臺。
Node.js是一個事件驅動I/O服務端JavaScript環境,基于Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。
下載:https://nodejs.org/en/download/ 可以下載源碼或二進制發行版本,linux新版本的發行版本已經自帶了npm,不用單獨安裝了,自帶目錄為: 下載 tar.gz二進制版本后,解壓并設置環境變量: export NODE_HOME=/usr/local/node/0.10.24 export PATH=$NODE_HOME/bin:$PATH 測試,輸出node的版本: node -v 輸出使用的npm的版本: npm -v 正常顯示出版本好,即表示安裝成功。 使用方式: 1.輸入 node 回車,進入交互模式,可以直接輸入代碼并運行 2.輸入 node test.js ,可運行該 js 中的代碼API:
一些常用的api測試如下:
console.log('========內置全局對象:process'); console.log('當前目錄: ' + process.cwd()); console.log('當前版本: ' + process.version); //輸出內存使用情況 console.log(process.memoryUsage()); process.on('exit', function(code) {// 以下代碼永遠不會執行setTimeout(function() {console.log("該代碼不會執行");}, 0);console.log('退出碼為:', code); });console.log('------http處理web服務,使用server.js和router.js兩個模塊------'); var server = require("./server"); var router = require("./router"); //server.start(router.route);console.log('-------fs處理文件-------'); var fs = require("fs"); var file = '/home/conquer/Desktop/ignite'; var data = fs.readFileSync(file); console.log(data.toString());fs.readFile(file, function (err, data) {if (err) {console.log(err.stack);return console.error(err);}console.log(data.toString()); }); console.log("文件讀取結束!");console.log('------events處理自定義事件監聽處理模型------'); var events = require('events'); var emitter = new events.EventEmitter(); emitter.on('someEvent', function(arg1, arg2) { console.log('listener1', arg1, arg2); }); emitter.on('someEvent', function(arg1, arg2) { console.log('listener2', arg1, arg2); }); emitter.once('connection', function (stream) {console.log('Ah, we have our first user!'); }); emitter.emit('someEvent', 'arg1 參數', 'arg2 參數'); // first emitter.emit('someEvent', 'arg1 參數', 'arg2 參數'); // second emitter.emit('connection', 'connection 參數', 'connection 參數'); //first emitter.emit('connection', 'connection 參數', 'connection 參數'); //second : no action because of [emitter.once] var callback = function() {console.log('aaaaaa'); } emitter.addListener('addEvent', function(stream) {console.log('stream:' + stream); }); emitter.addListener('addEvent', callback); emitter.on('addEvent', callback); console.log("listenerCount:" +events.listenerCount(emitter, 'addEvent')); //emitter.removeListener('addEvent', callback); //emitter.removeListener('addEvent', callback); emitter.removeAllListeners(); emitter.emit('addEvent'); // test error handler //emitter.emit('error'); console.log('------------Buffer(緩沖區)處理二進制數據----------'); buf = new Buffer(26); for (var i = 0 ; i < 26 ; i++) {buf[i] = i + 97; } console.log( buf.toString('ascii')); // 輸出: abcdefghijklmnopqrstuvwxyz console.log( buf.toString('ascii',0,5)); // 輸出: abcde console.log( buf.toString('utf8',0,5)); // 輸出: abcde console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 編碼, 并輸出: abcdefunction say(word) {console.log(word); } function execute(someFunction, value) {someFunction(value); } say("Hello"); execute(say, "Hello");console.log('------ 自帶 工具類 :util ------'); var util = require('util'); console.log('輸出內存使用情況:'+util.inspect(process.memoryUsage())); console.log(util.isArray([]))// true console.log(util.isArray(new Array))// true console.log(util.isArray({}))console.log('-------dns模塊------'); var dns = require('dns');dns.lookup('www.github.com', function onLookup(err, address, family) {console.log('ip 地址:', address);dns.reverse(address, function (err, hostnames) {if (err) {console.log(err.stack);}console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames)); }); });console.log('-----net 模塊,發送網絡請求-----'); var net = require('net'); var client = net.connect({port: 80,host:'www.baidu.com'}, function() {console.log('連接到服務器!'); }); client.on('data', function(data) {console.log(data.toString());client.end(); }); client.on('end', function() { console.log('斷開與服務器的連接'); });console.log('----path,用于處理路徑----'); var path = require("path"); // 格式化路徑 console.log('normalization : ' + path.normalize('/test/test1//2slashes/1slash/tab/..')); // 連接路徑 console.log('joint path : ' + path.join('/test', 'test1', '2slashes/1slash', 'tab', '..')); // 轉換為絕對路徑 console.log('resolve : ' + path.resolve('main.js')); // 路徑中文件的后綴名 console.log('ext name : ' + path.extname('main.js'));console.log('---- os,操作系統信息獲取接口'); var os = require("os");// CPU 的字節序 console.log('endianness : ' + os.endianness());// 操作系統名 console.log('type : ' + os.type());// 操作系統名 console.log('platform : ' + os.platform());// 系統內存總量 console.log('total memory : ' + os.totalmem() + " bytes.");// 操作系統空閑內存量 console.log('free memory : ' + os.freemem() + " bytes.");server.js
var http = require("http"); var url = require("url"); function start(route) {function onRequest(request, response) {var pathname = url.parse(request.url).pathname;console.log("url: " + pathname);route(pathname);response.writeHead(200, {"Content-Type": "text/plain"});response.write("Hello World");response.end();}http.createServer(onRequest).listen(8888);console.log('Server running at http://127.0.0.1:8888/'); } //全局設置,對其它模塊可見 exports.start = start;router.js function route(pathname) {console.log("About to route a request for " + pathname); } //全局設置,對其它模塊可見 exports.route = route;
總結
以上是生活随笔為你收集整理的nodejs 初探 api试用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被曝欠薪又放长假,600亿科技巨头爆雷了
- 下一篇: latex 正负号