使用NodeJS模塊-第三方提供的模塊(什么是npm)


第三方開發者提供的模塊

第三方模塊是由NodeJS社區或第三方個人開發的功能模塊,這些功能模塊以軟件包的形式存在。被發布在npmjs注冊表中。npmjs是一個注冊中心,所有軟件包的信息都會被記錄到該注冊中的數據庫中,我們可以來到npmjs官方站點,根據關鍵字搜索自己需要的軟件包

  •  什么是npm

    npm是世界上最大的軟件注冊機構(登記處)來自世界各地的開源開發者可以使用npm來共享自己寫的軟件包,也可以使用他人寫的軟件包;

  • 由三部分組成

  1. npmjs官方站點,用於搜索你想使用的軟件包;
  2. 注冊表,一個大型的公共數據庫,記錄了所有軟件包的信息;
  3. 命令行界面,開發者與npm交互的工具;

 

 

 

 

點擊軟件包的名字會跳轉到軟件包的詳情頁面:

 

 

我們需要的軟件包已經找到了,但是我們怎么樣去使用軟件包提供的功能呢?

我們可以通過NPM(Node Package Manager)使用軟件包,NPM是NodeJS的包管理器,它提供了一系列的命令,可以幫我們安裝、刪除、更新、搜索以及創建自己的軟件包。

由於只有軟件包才是使用其他的軟件包,因此我們必須要先創建自己的軟件包,然后才能在自己的軟件包中使用其他的軟件包。

我們怎么樣去創建自己的軟件包呢?答案是通過NPM提供的一系列命令創建自己的軟件包。

 

1、 在合適的目錄下,打開命令窗口,創建軟件包的目錄,並切換到該目錄下:

 mkdir lodashdemo && cd loadshdemo                                                    

2、 使用NPM提供的命令,初始化軟件包,你需要回答幾個問題,回答完畢之后會生成一個package.json文件,該文件記錄了軟件包的所有信息。

npm init                                                                            

3、如果你只是想把創建的包作為一個本地項目,並不想將它發布到npmjs注冊中心(不想讓別人使用你的軟件包),你需要移除package.json文件中的main字段,然后添加private字段,並指定其值為true,表示這是私有的軟件包。修改之后的結果如下:

{
  "name": "lodashdemo", "version": "1.0.0", "description": "講解 NPM 包管理器的使用方法", "private": true, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ "demo", "lodash", "陳老師" ], "author": "陳老師", "license": "MIT" }

3、 使用NPM的命令安裝第三方模塊,此步驟需要訪問網絡。

npm install lodash --save-prod          
  • install也可以簡寫成i
  •  --save-prod 將 lodash 模塊作為當前軟件包的產品依賴,並將依賴信息記錄到package.json文件中的dependencies字段中
  • 此外,初次執行install命令時,還會生成一個package-lock.json文件,該文件記錄了當前軟件包所依賴的其他軟件包的詳細信息,用於將軟件包鎖定到特定的版本。
  • 安裝完成之后,當前項目的目錄下會生成一個node_modules/目錄,目錄中保存就是我們下載后的軟件包。

4、 創建自己的項目文件,例如,app.js文件,導入第三方模塊,即可使用模塊提供的功能

 

 1   // 導入 lodash 模塊
 2   const _ = require('lodash');
 3   
 4  // 使用 lodash 模塊提供的方法
 5   const add = _.add(12, 56)
 6   console.log(add)
 7   
 8   const subtract = _.subtract(8, 4)
 9   console.log(subtract)
10  
11  const multiply = _.multiply(8, 4)
12  console.log(multiply)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM