Node.js基礎(chǔ)用法
學(xué)一門語言,其實就是需要知道,他能做啥。那么Node能做啥?
node.js能做啥
NodeJS的作者說,他創(chuàng)造NodeJS的目的是為了實現(xiàn)高性能Web服務(wù)器,他首先看重的是事件機(jī)制和異步IO模型的優(yōu)越性,而不是JS。但是他需要選擇一種編程語言實現(xiàn)他的想法,這種編程語言不能自帶IO功能,并且需要能良好支持事件機(jī)制。JS沒有自帶IO功能,天生就用于處理瀏覽器中的DOM事件,并且擁有一大群程序員,因此就成為了天然的選擇。
如他所愿,NodeJS在服務(wù)端活躍起來,出現(xiàn)了大批基于NodeJS的Web服務(wù)。而另一方面,NodeJS讓前端眾如獲神器,終于可以讓自己的能力覆蓋范圍跳出瀏覽器窗口,更大批的前端工具如雨后春筍。
因此,對于前端而言,雖然不是人人都要拿NodeJS寫一個服務(wù)器程序,但簡單可至使用命令交互模式調(diào)試JS代碼片段,復(fù)雜可至編寫工具提升工作效率。
NodeJS生態(tài)圈正欣欣向榮。
1.如何運(yùn)行
一般運(yùn)行node ,用命令行,直接打開Bash,然后輸入node,回車
> node
>
> console.log(123)
>
123
2.require,module,exports
require,是引入模塊,可以是你自己寫的js文件,也可以是node_modules中你的包,引入你自己定義的模塊,需要寫上src,也就是目標(biāo)的位置。而且你只能寫"./"開頭的相對位置,除非你在環(huán)境變量中加入了你要require的文件的環(huán)境變量,否則,免談。
var test = require("./src/test.js");// 引入當(dāng)前文件夾下,src文件夾下的test.js文件
exports是一個對象,無處不在的對象,萬物皆對象。他是當(dāng)前模塊導(dǎo)出的對象。別的模塊通過require就能得到。
// hello.js
function hello () {
console.log("hello world!")
}
exports.hello = hello;
// index.js
var hello = require("./hello");
hello.hello();
// 你引入的hello是一個對象,hello對象下邊的hello是一個方法,有點(diǎn)繞。主要是我把命名重復(fù)了。
// 咱改一下吧
var module = require("./hello");
module.hello();
module對象說是可以訪問到當(dāng)前模塊的一些信息。但最多的用途是替換當(dāng)前模塊的導(dǎo)出對象。一般導(dǎo)出的對象是一個普通的對象,我們可以把它變成函數(shù).
module.exports = function () {...};
總結(jié)一下:
require用來引入模塊
exports.name = ...,導(dǎo)出模塊
module.exports = ...,導(dǎo)出模塊
基本的就這么些,都是js語法。