6 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
命令npm install可以安裝package.json的依賴
npm install --save 可以安裝新的依賴

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
Nodejs
1.安裝nodejs
從nodejs官網(wǎng)下載最新版本的node,設(shè)置環(huán)境變量這樣就可以在cmd下直接用命令行操作npm
環(huán)境變量:path d:/nodejs
查看本機(jī)node及npm版本
2.從官網(wǎng)上直接拷一個(gè)小腳本:
nodeExample.js
可以通過控制臺(tái)直接運(yùn)行
打開瀏覽器輸入http://127.0.0.1:3000/,頁(yè)面上出現(xiàn)Hello World
如果將Hello World改成Hello NodeJs,刷新瀏覽器發(fā)現(xiàn)頁(yè)面還是沒變,此時(shí)要再次在控制臺(tái)再次運(yùn)行該js文件,Ctrl+C結(jié)束上次活動(dòng)
3.關(guān)于node的npm
nodejs的npm就像java里的maven,是跟著nodejs一起安裝的包管理工具,沒有它就相當(dāng)于一切都沒有
npm的官方鏡像網(wǎng)站是 https://www.npmjs.com/
node包管理器是一個(gè)命令行實(shí)用程序,它可以讓你查找、安裝、刪除、發(fā)布以及做與node封裝模塊相關(guān)的很多事情
注:npm install命令沒有指定任何模塊,這是因?yàn)閚pm在默認(rèn)情況下會(huì)查找一個(gè)package.json文件,當(dāng)你需要額外的模塊式,將那些模塊添加進(jìn)依賴指令中,然后再次運(yùn)行npm install。依賴指令在package.json文件的dependencies里。
4.關(guān)于package.json
當(dāng)我們通過npm install下載相應(yīng)的插件時(shí),項(xiàng)目中就會(huì)自動(dòng)出現(xiàn)node_modules文件夾,如npm install gulp,我們就可以看到node_modules文件下的gulp文件夾的目錄結(jié)構(gòu)
注意以下這里的package.json,它是一個(gè)nodejs和npm都會(huì)自動(dòng)讀取的配置文件,它里面是個(gè)標(biāo)準(zhǔn)的JSON格式字符串。
如果我們?cè)谕獠縥s文件中直接require('slib'),nodejs會(huì)自動(dòng):
1)看它內(nèi)置模塊中是否有,如果有就優(yōu)先加載內(nèi)置模塊
2)如果沒有就看是否是“路徑級(jí)”的引用
3)以上都不是就會(huì)在node_modules尋找同名文件夾。首先會(huì)默認(rèn)尋找index.js,如果沒有則會(huì)查看是否在package.json中做了main定義
內(nèi)置模塊如require('http'),路徑級(jí)如require('./xxx.js'),注意這里的./代表的是當(dāng)前js文件所在的目錄,.js可寫可不寫,在下載gulp時(shí)由于包跟包之間有引用,因此會(huì)下載其他一些插件。
我們也可以在node_modules里自定義插件,如在node_modules里新建一個(gè)文件夾,里面的js文件一定要定義成index.js,這樣當(dāng)我們引用這個(gè)js文件時(shí),node會(huì)自動(dòng)加載這個(gè)文件下的index.js
5.自定義插件
如果我們想在node_modules下自定義一個(gè)插件,被外部文件引用,而不通過index.js自動(dòng)加載的方式,那么該怎么定義呢
1)在node_modules下新建一個(gè)文件,examplejs,包括aaa.js和package.json
packeage.json只有一行:
{"main":"aaa.js"}
這里的main是指入口,注意:如果這里的aaa.js被命名為index.js,那么我們就不需要package.json了,node會(huì)自動(dòng)加載每個(gè)插件下的index.js文件
2)在項(xiàng)目中新建一個(gè)showName.js文件,引用上面的examplejs
var getlib=require('examplejs');getlib.showName();
3)執(zhí)行程序:
將它加入到html中
1)新建index.html,將js引進(jìn)來
2)啟動(dòng)瀏覽器,報(bào)錯(cuò)
瀏覽器不識(shí)別require,也就是說目前網(wǎng)頁(yè)還不支持require這種寫法
既然要通過require('examplejs')的方式獲取getlib,那么打印一下getlib,在showName.js里添加一行:console.log(getlib);查看結(jié)果:
得到的getlib就是一個(gè)對(duì)象
修改showName.js
var getlib=require('examplejs');for(var a in getlib){console.log(a+":"+getlib[a]);}
執(zhí)行結(jié)果:
showName.js已經(jīng)將getlib里的變量和函數(shù)都抽離出來了,這時(shí)候index.html就可以引用該js了
- 6 回答
- 0 關(guān)注
- 2150 瀏覽
添加回答
舉報(bào)