<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## npm常用指令 這一小節將介紹我們平時最常用到的幾個指令。 [TOC] ### npm init #### 命令 `$ npm init [-f|--force|-y|--yes]` `npm init`用來初始化生成一個新的`package.json`文件。它會向用戶提問一系列問題,如果你覺得不用修改默認配置,一路回車就可以了。 如果使用了`-f`(代表`force`)、`-y`(代表`yes`),則跳過提問階段,直接生成一個新的`package.json`文件。 >Tips: 對package.json沒有概念的朋友,請查閱[package.json的使用](313176)這一小節 * * * * * ### npm install #### 命令 ~~~ $ npm install (with no args, in package dir) $ npm install [<@scope>/]<name> $ npm install [<@scope>/]<name>@<tag> $ npm install [<@scope>/]<name>@<version> $ npm install [<@scope>/]<name>@<version range> $ npm install <tarball file> $ npm install <tarball url> $ npm install <folder> alias: npm i common options: [-S|--save|-D|--save-dev|-O|--save-optional] [-E|--save-exact] [-B|--save-bundle] [--dry-run] ~~~ >`npm install `這個命令官網的[API](https://docs.npmjs.com/cli/install)寫了很多,這里只介紹常用的 * `$ npm install (在模塊根目錄下,不帶參數)`<br/> 將模塊的所有第三方依賴模塊安裝到根目錄下的 node_modules 文件夾中, * `$ npm install -g(在模塊根目錄下)`<br/> 將當前模塊全局安裝,這樣,你就可以在未發布模塊的情況下,在自己的電腦上全局使用當前模塊(即在命令行,無論處于哪個目錄下,都可以引用當前模塊,就像你使用npm命令一樣) >Tips: 上面提到的兩種安裝方式,都會將package.json中,在dependencies和devDependencies這兩個key下羅列的所有模塊都進行安裝,如果npm install這個命令后面加上參數 --production(或者將NODE_ENV這個環境變量設為 production),npm將只安裝羅列在dependencies這個key下的模塊 * `$ npm install <folder>`<br/> 安裝指定路徑下的模塊,該路徑的根目錄下應該包含package.json文件。 * `$ npm install [<@scope>/]<name> [-S|--save|-D|--save-dev|-O|--save-optional]`<br/> >Tips: scope是模塊的作用域 ,可選參數,一般只在發布私有模塊的時候使用,絕大部分情況下,你用不到,這里可以先忽略。有興趣可參考[npm 私有模塊的使用](http://www.cnblogs.com/kelsen/p/4964574.html) 大多數場景下,我們會使用這個這個命令來安裝最新發布在npm上的指定`<name>`的模塊。 以sax模塊為例: `$ npm install sax` 這個命令就是從npm上拉取最新發布的sax模塊,這個命令等價于 `$ npm install sax@latest` 本質上 ,執行的命令是: * `$ npm install [<@scope>/]<name>@<tag> ` tag是在模塊發布的時候給模塊打的一個標簽,其他開發者可以通過@不同的tag來安裝打了相應tag的版本 * `npm install `命令根據安裝環境的不同,有3個可選的參數可以加,這幾個參數將在`package.json`中相應的`key`下面保存要安裝的模塊 * ` -S, --save`: 這個模塊將作為`dependencies`的成員。 * ` -D, --save-dev`: 這個模塊將作為`devDependencies`的成員。 * `-O, --save-optional`: 這個模塊將作為`optionalDependencies`的成員 * ` $ npm install [<@scope>/]<name>@<version>` `<version>`和`<tag>`類似,都是在開發者發布模塊時打上的標簽,其他開發者可以通過這個標簽指定安裝某一個版本的模塊 * `$ npm install <tarball file>` >Tips: tarball是Linux下最方便的打包命令 安裝當前文件系統中指定路徑的文件 例子: ~~~ $ npm install ./package.tgz ~~~ * `$ npm install <tarball url>` 從指定的URL地址下載并安裝模塊 例子: ~~~ $ npm install https://github.com/indexzero/forever/tarball/v0.5.6 ~~~ * * * * * ### npm uninstall #### 命令 ~~~ $ npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|-D|--save-dev|-O|--save-optional] aliases: remove, rm, r, un, unlink ~~~ 與`npm install `相反,不再贅述 * * * * * ### npm update #### 命令 ~~~ #升級當前項目的指定模塊(在項目根目錄下使用) $ npm update [package name] #升級全局安裝的模塊 $ npm update -g [package name] ~~~ `npm update`命令會先到遠程倉庫查詢最新版本,然后查詢本地版本。如果本地版本不存在,或者遠程版本較新,就會安裝。 使用-`S`或`--save`參數,可以在安裝的時候更新`package.json`里面模塊的版本號。 >注意,從npm v2.6.1 開始,npm update只更新頂層模塊,而不更新依賴的模塊,以前版本是遞歸更新的。如果想取到老版本的效果,要使用下面的命令: >`$ npm --depth 9999 update` * * * * * ### npm link #### 命令 ~~~ $ npm link (in package dir) $ npm link [<@scope>/]<pkg>[@<version>] alias: npm ln ~~~ 我們假設這樣一個場景,你剛開發完一個模塊A(模塊的名稱暫定為aaa),你準備做發布前的最后測試。 一種實現的方式是: 1. cd到模塊A的根目錄下,執行 `npm install -g`,模塊A就全局的安裝到了你電腦上。 2. 切換一個新的目錄,使用`npm init`構建一個新的工程B,這時,你就可以用IDE打開index.js,通過require('aaa')來使用模塊A了。 上面的實現方式有一個問題,當你在測試過程中發現模塊A有bug或接口不合理的地方,你需要在模塊A的源碼上做對應的修改,但是,這個改動只有重新執行`npm install -g`之后才會生效(模塊A的修改無法實時的更新到全局)。這就稍顯麻煩了,是否有辦法讓模塊A的改動及時反饋的全局呢?有的! 我們來介紹滿足這個需求的另外一種實現方式: 1. cd到模塊A的根目錄下,執行`npm link`,這時,在全局的npm模塊倉庫(node_modules)中,會創建一個指向模塊A根目錄的符號鏈接(symlink) 2. 切換到工程B,執行` npm link aaa`(Tip:aaa是模塊A的名稱,不是根目錄的名稱),這時,在工程B的根目錄的node_modules文件夾下面會引入模塊A。 使用`npm link`就能實現模塊A的修改實時生效。 >Tips: 當你不再需要在工程里面使用“aaa”模塊時,應該使用`npm unlink aaa` 刪除符號鏈接 * * * * * ### npm login 登錄npm賬號,你只要在[npm官網](https://www.npmjs.com)注冊一個賬號,然后根據提示輸入用戶名和密碼登錄即可,只有登錄了npm的賬號才能發布npm模塊。 * * * * * ### npm publish #### 命令 ~~~ $ npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] Publishes '.' if no argument supplied Sets tag 'latest' if no --tag specified ~~~ `npm publish`用于發布你自己開發的模塊。 最常用的場景是: 1. 使用`npm login`登錄npm賬號; 2. cd到要發布模塊的根目錄下(包含`package.json`的文件夾); 3. 執行`npm publish`。 這樣,一個模塊就發布到npm上去了,你可以登錄[npm官網](https://www.npmjs.com)去查看你發布的模塊。 > 上面提到的這種場景,會自動為你發布的模塊打上兩個標簽,一個是版本號,由`package.json`文件的`version`字段決定,用于版本管理;另一個是`latest`標簽,npm publish后面的可選參數 `--tag <tag>` 的默認值就是**`latest`**,`tag`可以理解為辨識度更高的版本標記。 Note: 如果你npm設置了其他鏡像作為源地址,在版本發布的時候要先設置為官網的地址! `$ npm config set registry=http://registry.npmjs.org` * * * * * ### npm unpublish #### 命令 ~~~ $ npm unpublish [<@scope>/]<pkg>[@<version>] ~~~ 當你發布的某一個版本的module有較大的問題,你就可以用 npm unpublish這個命令的刪除之前發布的版本。 npm官網不建議使用該命令來取消某一個版本的發布,并且你只能在發布該版本的24小時之內取消發布,超過了這個24小時,你需要聯系npm的技術支持( support@npmjs.com)來解決。
                  <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>

                              哎呀哎呀视频在线观看