nodeJs 安裝 npm nodeModules package.json

來源:互聯網
上載者:User

標籤:方式   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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.