node.js的基礎(chǔ)語法就是JavaScript的語法,所以對于懂得javascript的同學(xué)來說要容易一些,至于環(huán)境的配置也要相對簡單很多,可以訪問官方文檔進(jìn)行安裝。這里分享一下我在學(xué)習(xí)中總結(jié)的一些東西,這是第一篇先來說說文件之間如何進(jìn)行引入并互相使用變量及函數(shù)。
對于一般的js文件我們在html中進(jìn)行引用是使用
<script type="text/javascript" src="test.js"></script>
而在node.js項(xiàng)目中使用的全部是js文件,當(dāng)一個(gè)js文件想要使用另一個(gè)js文件中的變量或是函數(shù)時(shí)怎么辦?在js文件中使用<script src=””></script>標(biāo)簽對來進(jìn)行引入是不被允許的,因此在node.js中規(guī)定使用require()函數(shù)來進(jìn)行引入
require("test.js");
使用require()進(jìn)行引入時(shí)需要注意幾點(diǎn):
當(dāng)需要調(diào)用引入文件中的變量、函數(shù)或是對象時(shí)要聲明一個(gè)變量來接收引入的對象
var res = require("foo.js");
當(dāng)想要其他文件在引入了本文件后能夠調(diào)用本文件的某些變量或是函數(shù)時(shí),需要將被允許的變量或函數(shù)在本文件中進(jìn)行聲明
//foo.jsvar a = 1;function say(){ console.log(a);}exports.a = a;exports.say = say;//index.jsvar foo = require(foo.js);console.log(foo.a);
當(dāng)引入的js文件被當(dāng)做一個(gè)對象時(shí),則不應(yīng)該在使用exports應(yīng)該使用 moudle.exports = 構(gòu)造函數(shù) 的形式
//view.jsfunction View(){ } View.prototype.test = function(){ console.log('test') } View.test1 = function(){ console.log('test1') }moudle.exports = view;//test.js var x = require('./foo'); console.log(x) //{ [Function: View] test1: [Function] } console.log(x.test) //undefined console.log(x.test1) //[Function] x.test1() //test1
使用require()函數(shù)進(jìn)行文件引入時(shí)默認(rèn)的會首先加moudles_lib文件夾當(dāng)沒有時(shí)再逐級進(jìn)行查找文件。除此之外還可以使用環(huán)境變量來進(jìn)行設(shè)置,設(shè)置node.js的加載模塊的路徑。