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