<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                &emsp;&emsp;npm(Node Package Manager)是Node.js的包管理工具,相當于一個在線倉庫。它提供了一個公共的平臺,將分散在世界各地的包集中起來,能輕松的安裝、分享和管理相關的包,不用再為搜索包而煩惱,并且npm能自動處理包的依賴項。它由三部分組成: &emsp;&emsp;(1)網站:可用來瀏覽、搜索包的信息。 &emsp;&emsp;(2)注冊表:一個巨大的數據庫,保存了每個包的信息,例如作者、版本、依賴等。 &emsp;&emsp;(3)命令行界面(CLI):開發者可在CLI中對包進行發布、安裝、卸載等操作。 &emsp;&emsp;由于新版的Node.js已集成了npm,因此在安裝完Node.js后就能使用npm了。 ## 一、安裝包 &emsp;&emsp;npm有兩種安裝包的方式:本地安裝和全局安裝,從使用的命令格式來看(如下所示),兩者只差一個“-g”參數(即標志)。 ~~~ npm install <package_name> [-g] ~~~ &emsp;&emsp;(1)如果代碼要依賴于某個包(例如jquery、lodash等),那么應該用本地安裝。在安裝完后,就能在當前目錄的node\_modules目錄中找到相應的包,通過require()函數就能引用到。 ~~~ npm install jquery ~~~ &emsp;&emsp;(2)如果要將包作為一個命令行工具(例如gulp、grunt等),那么應該用全局安裝。在安裝完后,就能在Node.js的安裝目錄或/usr/local的node\_modules目錄中找到相應的包。 ~~~ npm install gulp -g ~~~ ## 二、package.json &emsp;&emsp;package.json是一個位于項目根目錄的文件,用于管理本地已安裝的npm包,記錄了項目的作者、依賴包、版本等各類信息。有了package.json,就能很方便的克隆一個項目,而不必再手動的安裝相關的包,這樣利于多人協作。 **1)創建** &emsp;&emsp;除了原始的手動創建之外,還能通過命令“npm init”或“npm init --yes”生成符合規范的package.json文件,初始化的結果如下所示。 ~~~ { "name": "demo", "version": "1.0.0", "description": "test", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "strick", "license": "ISC" } ~~~ &emsp;&emsp;上面只列出了package.json的部分字段(屬性),對它們的說明可參考表1,其中第三列會結合示例給出相應的值或用法,package.json的剩余字段可參考[官方文檔](https://www.npmjs.com.cn/files/package.json/)。 :-: ![](https://img.kancloud.cn/df/a2/dfa238540fca833327af37568ce8b1aa_1435x665.png) 表1 package.json的字段 **2)依賴** &emsp;&emsp;在package.json中,有兩個字段都記錄著項目的依賴包,如下所列。 &emsp;&emsp;(1)dependencies:在生產環境中所依賴的包,其安裝命令需要“--save”參數。 ~~~ npm install <package_name> --save ~~~ &emsp;&emsp;(2)devDependencies:在開發環境中所依賴的包,其安裝命令會比dependencies多一個“-dev”參數。 ~~~ npm install <package_name> --save-dev ~~~ &emsp;&emsp;當執行下面的兩條命令后。 ~~~ npm install lodash --save npm install underscore --save-dev ~~~ &emsp;&emsp;在package.json中就會多兩段信息,如下所示。 ~~~ { "dependencies": { "lodash": "^4.17.11" }, "devDependencies": { "underscore": "^1.9.1" } } ~~~ &emsp;&emsp;將上述包含依賴的package.json文件分享到其它項目時,只要在該目錄中運行下面的命令,就能自動安裝所需的包,并且指定了包的版本,以免無法啟動項目。 ~~~ npm install ~~~ **3)版本** &emsp;&emsp;npm遵循[semver](https://www.npmjs.com.cn/misc/semver/)版本規范,使用語義化的版本號來管理包,并且能設置版本范圍。一個版本號包含三位:X.Y.Z,分別代表主版本號(X)、次版本號(Y)和補丁版本號(Z),取值為非負整數,個位數不會補零。首次發布的新產品,其版本號從“1.0.0”開始。 &emsp;&emsp;如果要升級版本號,那么可以遵循下面所列的這三個規則。 &emsp;&emsp;(1)當有重大變化、不向下兼容時,遞增主版本號(X),其余兩位(Y和Z)置零,例如“2.0.0”。 &emsp;&emsp;(2)當發布了向下兼容的新功能時,遞增次版本號(Y),最后一位(Z)置零,例如“1.1.0”。 &emsp;&emsp;(3)當只是修復向下兼容的錯誤時,遞增補丁版本號(Z),其余兩位保持不變,例如“1.1.1”。 &emsp;&emsp;除了可以聲明一個固定版本號之外,還能通過多個符號(例如^、~、>、x、\*等)指定版本號的范圍。接下來只介紹其中的兩個,每個符號后面都會給出對應的版本號范圍。 &emsp;&emsp;(1)如果在版本號之前加上^,那么符合的版本號的X位要與其相同,并且剩余兩位不小于指定的版本號。 ~~~ ^1.2.3 = [>=1.2.3 <2.0.0] ^0.2.3 = [>=0.2.3 <0.3.0] ~~~ &emsp;&emsp;(2)如果在版本號之前加上~,那么符合的版本號的X位和Y位要與其相同,并且Z位不小于指定的版本號。 ~~~ ~1.2.3 = [>=1.2.3 <1.3.0] ~0.2.3 = [>=0.2.3 <0.3.0] ~~~ ## 三、包和模塊 &emsp;&emsp;在Node.js和npm中,雖然對包和模塊有非常具體的定義(如下所列),但是大部分人還是會混淆。 &emsp;&emsp;(1)包(package)是由package.json描述的文件或目錄。 &emsp;&emsp;(2)模塊(module)是任何能被Node.js的require()函數加載的文件或目錄,下面是模塊常見的三種形式。 &emsp;&emsp;&emsp;&emsp;1)包含package.json文件且定義了main字段的目錄。 &emsp;&emsp;&emsp;&emsp;2)包含index.js文件的目錄。 &emsp;&emsp;&emsp;&emsp;3)JavaScript文件。 &emsp;&emsp;由此可知,大多數的npm包都是模塊,只有一些特殊的包(例如只提供了命令API而沒有定義main入口的CLI包)不能被認為是模塊。 ## 四、常用命令 &emsp;&emsp;npm不僅包含基本的查看命令,例如查看版本號或包的信息等;還包含實用的輔助命令,例如查看指定的命令可組合的參數形式,如下所示。 ~~~ npm -v   查看npm的版本號 npm ls 查看當前目錄安裝的包的信息 npm install --help 查看npm install可使用的參數形式 ~~~ &emsp;&emsp;除了查看之外,還有其它幾個常用的操作,例如安裝、卸載、更新、搜索、發布等。下面以lodash為例,列出了相關的命令。 ~~~ npm install lodash@4.0.1    安裝4.0.1版本的lodash npm uninstall lodash    卸載lodash npm update lodash     更新lodash npm search lodash     搜索lodash npm publish lodash     發布lodash ~~~ ## 五、淘寶npm鏡像 &emsp;&emsp;因為npm上的包都保存在國外服務器中,所以受網絡影響大,很容易出現異常。在國內推薦使用[淘寶npm鏡像](http://npm.taobao.org/),這是一個完整的npmjs.org鏡像,同步頻率為10分鐘一次,保證了與官方服務同步。只需要運行下面的安裝命令,就能用淘寶定制的cnpm替代默認的npm。 ~~~ npm install -g cnpm --registry=https://registry.npm.taobao.org ~~~ &emsp;&emsp;由于cnpm的用法和npm完全一致,因此依然可以像下面這樣安裝lodash。 ~~~ cnpm install lodash@4.0.1 ~~~ ***** > 原文出處: [博客園-前端利器躬行記](https://www.cnblogs.com/strick/category/1472499.html) [知乎專欄-前端利器躬行記](https://zhuanlan.zhihu.com/pwtool) 已建立一個微信前端交流群,如要進群,請先加微信號freedom20180706或掃描下面的二維碼,請求中需注明“看云加群”,在通過請求后就會把你拉進來。還搜集整理了一套[面試資料](https://github.com/pwstrick/daily),歡迎瀏覽。 ![](https://box.kancloud.cn/2e1f8ecf9512ecdd2fcaae8250e7d48a_430x430.jpg =200x200) 推薦一款前端監控腳本:[shin-monitor](https://github.com/pwstrick/shin-monitor),不僅能監控前端的錯誤、通信、打印等行為,還能計算各類性能參數,包括 FMP、LCP、FP 等。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看