標籤:方式 version 就會 src 最新 報錯 pack amp expr
Nodejs 1.安裝nodejs從nodejs官網下載最新版本的node,設定環境變數這樣就可以在cmd下直接用命令列操作npm環境變數:path d:/nodejs查看本機node及npm版本2.從官網上直接拷一個小指令碼:nodeExample.js
const http = require(‘http‘); const hostname = ‘127.0.0.1‘;const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader(‘Content-Type‘, ‘text/plain‘); res.end(‘Hello World\n‘);}); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`);});可以通過控制台直接運行:開啟瀏覽器輸入http://127.0.0.1:3000/,頁面上出現Hello World如果將Hello World改成Hello NodeJs,重新整理瀏覽器發現頁面還是沒變,此時要再次在控制台再次運行該js檔案,Ctrl+C結束上次活動 3.關於node的npmnodejs的npm就像java裡的maven,是跟著nodejs一起安裝的包管理工具,沒有它就相當於一切都沒有npm的官方鏡像網站是 https://www.npmjs.com/node包管理器是一個命令列公用程式,它可以讓你尋找、安裝、刪除、發布以及做與node封裝模組相關的很多事情,這裡列出一些常用的命令列選項: version 該命令可以查看Node npm V8等一系列的版本 npm versionsearch 在存放庫中尋找模組包 npm search expressinstall 使用在存放庫或本地位置上的一個package.json檔案來安裝包 npm install expressinstall -g 在全域可訪問的位置安裝一個包 npm install express -gremove 刪除一個模組 npm remove expresspack 把在一個package.json檔案中定義的模組封裝成.tgz檔案 npm packview 顯示模組的詳細資料 npm view expresspublish 把在一個package.json檔案中定義的模組發布到註冊表 npm publishunpublish 解除發佈你發行的一個模組 npm unpublish myModuleowner 允許你在存放庫中添加、刪除包和列出包的所有者 npm add ownerName myModule /npm rm ownerName myModule / npm ls myModule 注意,npm install命令沒有指定任何模組,這是因為npm在預設情況下會尋找一個package.json檔案,當你需要額外的模組式,將那些模組添加進依賴指令中,然後再次運行npm install。依賴指令在package.json檔案的dependencies裡。 4.關於package.json當我們通過npm install下載相應的外掛程式時,項目中就會自動出現node_modules檔案夾,如npm install gulp,我們就可以看到node_modules檔案下的gulp檔案夾的目錄結構:
注意以下這裡的package.json,它是一個nodejs和npm都會自動讀取的設定檔,它裡面是個標準的JSON格式字串。
如果我們在外部js檔案中直接require(‘slib‘),nodejs會自動:1)看它內建模組中是否有,如果有就優先載入內建模組2)如果沒有就看是否是“路徑級”的引用3)以上都不是就會在node_modules尋找同名檔案夾。首先會預設尋找index.js,如果沒有則會查看是否在package.json中做了main定義內建模組如require(‘http‘),路徑級如require(‘./xxx.js‘),注意這裡的./代表的是當前js檔案所在的目錄,.js可寫可不寫,在下載gulp時由於包跟包之間有引用,因此會下載其他一些外掛程式。我們也可以在node_modules裡自訂外掛程式,如在node_modules裡建立一個檔案夾,裡面的js檔案一定要定義成index.js,這樣當我們引用這個js檔案時,node會自動載入這個檔案下的index.js,舉個例子:
5.自訂外掛程式
如果我們想在node_modules下自訂一個外掛程式,被外部檔案引用,而不通過index.js自動載入的方式,那麼該怎麼定義呢
1)在node_modules下建立一個檔案,examplejs,包括aaa.js和package.json
packeage.json只有一行:
{ "main":"aaa.js"}這裡的main是指入口,注意:如果這裡的aaa.js被命名為index.js,那麼我們就不需要package.json了,node會自動載入每個外掛程式下的index.js檔案2)在項目中建立一個showName.js檔案,引用上面的examplejs
var getlib=require(‘examplejs‘);getlib.showName();
3)執行程式:
那麼如何將它加入到html中呢1)建立index.html,將js引進來
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head><body><script src="showName.js"></script></body></html>
2)啟動瀏覽器,報錯:
瀏覽器不識別require,也就是說目前網頁還不支援require這種寫法既然要通過require(‘examplejs‘)的方式擷取getlib,那麼列印一下getlib,在showName.js裡添加一行:
console.log(getlib);
查看結果:
發現得到的getlib就是一個對象修改showName.js
var getlib=require(‘examplejs‘);for(var a in getlib){ console.log(a+":"+getlib[a]);}
執行結果:
可以發現,showName.js已經將getlib裡的變數和函數都抽離出來了,這時候index.html就可以引用該js了
nodeJs 安裝 npm nodeModules package.json