<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 功能強大 支持多語言、二開方便! 廣告
                [TOC] * * * * * ### **一、npm 是什么** npm 為你和你的團隊打開了連接整個 JavaScript 天才世界的一扇大門。它是世界上最大的軟件注冊表,每星期大約有 30 億次的下載量,包含超過 600000 個 包(package) (即,代碼模塊)。來自各大洲的開源軟件開發者使用 npm 互相分享和借鑒。包的結構使您能夠輕松跟蹤依賴項和版本。 下面是關于 npm 的快速介紹: npm 由三個獨立的部分組成: - 網站:是開發者查找包(package)、設置參數以及管理 npm 使用體驗的主要途徑。 - 注冊表(registry): 注冊表 是一個巨大的數據庫,保存了每個包(package)的信息。 - 命令行工具 (CLI): CLI 通過命令行或終端運行。開發者通過 CLI 與 npm 打交道。 網站也就是 [npm官網](https://www.npmjs.com/),我們寫好插件后可以通過npm 上傳到官網上,當然我們需要注冊一個npm賬號。上傳后,你發布的項目的一些信息會被添加到一個注冊表中,之后別人就可以通過npm去下載你的插件(包)了。 ### **二、npm 的使用** #### **1. 安裝** `npm `是依附于`nodejs `的,我們去[nodejs官網](http://nodejs.cn/download/)下載安裝好后,`npm`也就一并安裝了,安裝好后,我們可以查看`npm`的版本 ```JavaScript npm -v ``` #### **2. 更新** window 和 linux 都可使用 ```JavaScript npm install npm@latest -g // 安裝最新版本 ``` #### **3. 常見命令** ```JavaScript npm install 安裝模塊 npm uninstall 卸載模塊 npm update 更新模塊 npm outdated 檢查模塊是否已經過時 npm ls 查看安裝的模塊 npm init 在項目中引導創建一個package.json文件 npm help 查看某條命令的詳細幫助 npm root 查看包的安裝路徑 npm config 管理npm的配置路徑 npm cache 管理模塊的緩存 npm start 啟動模塊 npm stop 停止模塊 npm restart 重新啟動模塊 npm test 測試模塊 npm version 查看模塊版本 npm view 查看模塊的注冊信息 npm adduser 用戶登錄 npm publish 發布模塊 npm access 在發布的包上設置訪問級別 npm package.json的語法 ``` **注意事項:** 國內使用npm會很慢,我們可以使用淘寶鏡像。 首先,先安裝 `cnpm` ```JavaScript npm install -g cnpm --registry=https://registry.npm.taobao.org ``` 安裝完成后我們就可以使用`cnpm`,將以上命令中的 `npm` 換成 `cnpm` 就可以了。 使用cnpm也是會有缺點的: - `cnpm` 的倉庫只是` npm` 倉庫的一個拷貝,它不承擔 `publish` 工作,所以你用 `cnpm publish` 命令會執行失敗的 - 不僅是 `publish` 會執行失敗,其它的需要注冊用戶(npm adduser)、或者修改 `package ` 狀態等命令都無法用 `cnpm` - 有很多 `npm` 包都集成了 `npm install`,比如 `yeoman` 的所有 `generators`,在最后基本都會調用 `npm install`,(這種情況下使用 cnpm 完全無效,必須中斷操作,然后自己手動運行` cnpm install`,或者在運行 `yo [generator] `時就指定` --skip-install`。 4.還有一種情況是,很多和 npm API 相關的 package,都會讀取 ~/.npmrc 中的 registry,或者使用默認的 registry —— [https://registry.npmjs.org/][npm-registry],去查詢 npm package 相關的信息,比如下面這些: ### **三、package.json文件** `package.json` 文件很重要,它可以記錄一些你的項目信息,并且記錄一些npm的安裝的包版本信息。 一個 package.json 文件可以有以下幾點作用: - 作為一個描述文件,描述了你的項目依賴哪些包 - 允許我們使用 “語義化版本規則”指明你項目依賴包的版本 - 讓你的構建更好地與其他開發者分享,便于重復使用 #### **1. 創建 package.json文件** 我們可以手動創建該文件 也可以使用一下命令生成該文件 ```JavaScript npm init ``` 一個完整的`package.json`文件如下: ```JavaScript { "name": "Hello World", "version": "0.0.1", "author": "張三", "description": "第一個node.js程序", "keywords":["node.js","javascript"], "repository": { "type": "git", "url": "https://path/to/url" }, "license":"MIT", "engines": {"node": "0.10.x"}, "bugs":{"url":"http://path/to/bug","email":"bug@example.com"}, "contributors":[{"name":"李四","email":"lisi@example.com"}], "scripts": { "start": "node index.js" }, "dependencies": { "express": "latest", "mongoose": "~3.8.3", "handlebars-runtime": "~1.0.12", "express3-handlebars": "~0.5.0", "MD5": "~1.2.0" }, "devDependencies": { "bower": "~1.2.8", "grunt": "~0.4.1", "grunt-contrib-concat": "~0.3.0", "grunt-contrib-jshint": "~0.7.2", "grunt-contrib-uglify": "~0.2.7", "grunt-contrib-clean": "~0.5.0", "browserify": "2.36.1", "grunt-browserify": "~1.3.0", } } ``` `package.json`文件中的一些字段 描述如下: - `name` 項目名稱全部小寫,沒有空格,可以使用下劃線或者橫線 - `version`: 項目版本 x.x.x 的格式 ,符合“語義化版本規則” - `author`:作者信息 - `description`:描述信息,有助于搜索 - `keywords`:關鍵字,有助于在人們使用 npm search 搜索時發現你的項目 - `main`: 入口文件,一般都是 index.js - `scripts`:支持的腳本,默認是一個空的 test - `license`:默認是 MIT - `engines`:字段指明了該模塊運行的平臺,比如 Node 的某個版本或者瀏覽器。 - `bugs`:當前項目的一些錯誤信息,如果有的話 - `dependencies`:在生產環境中需要用到的依賴 - `devDependencies`:在開發、測試環境中用到的依賴 - `config`:字段用于添加命令行的環境變量。 - `browser`:指定該模板供瀏覽器使用的版本。Browserify這樣的瀏覽器打包工具,通過它就知道該打包那個文件。 - `preferGlobal`:值是布爾值,表示當用戶不將該模塊安裝為全局模塊時(即不用–global參數),要不要顯示警告,表示該模塊的本意就是安裝為全局模塊。 - `bin`:項用來指定各個內部命令對應的可執行文件的位置。 - `style`:指定供瀏覽器使用時,樣式文件所在的位置。樣式文件打包工具parcelify,通過它知道樣式文件的打包位置。 這里需要提一下的是我們下載包時有兩種寫入項目依賴的方式,這里就要知道`dependencies ` 和 `devDependencies` `dependencies` 字段指定了項目運行所依賴的模塊, `devDependencies` 指定項目開發所需要的模塊。 它們都指向一個對象。該對象的各個成員,分別由模塊名和對應的版本要求組成,表示依賴的模塊及其版本范圍。 ```JavaScript { "devDependencies": { "browserify": "~13.0.0", "karma-browserify": "~5.0.1" } } ``` 對應的版本可以加上各種限定,主要有以下幾種: >指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式規定,安裝時只安裝指定版本。 波浪號(tilde)+指定版本:比如~1.2.2,表示安裝1.2.x的最新版本(不低于1.2.2),但是不安裝1.3.x,也就是說安裝時不改變大版本號和次要版本號。 插入號(caret)+指定版本:比如?1.2.2,表示安裝1.x.x的最新版本(不低于1.2.2),但是不安裝2.x.x,也就是說安裝時不改變大版本號。需要注意的是,如果大版本號為0,則插入號的行為與波浪號相同,這是因為此時處于開發階段,即使是次要版本號變動,也可能帶來程序的不兼容。 latest:安裝最新版本。 我們安裝包時,如果想安裝到項目運行所依賴的模塊`dependencies` 中可以執行 ```JavaScript npm install --save vue 或 npm install vue ``` 如果想安裝到項目開發所需要的模塊`devDependencies` 中可以執行 ```JavaScript npm install --save-dev vue 或 npm install -D vue ``` 參考文章 [npm 與 package.json 快速入門教程](https://blog.csdn.net/u011240877/article/details/76582670#%E5%AE%89%E8%A3%85-npm) [package.json文件 阮一峰](http://javascript.ruanyifeng.com/nodejs/packagejson.html)
                  <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>

                              哎呀哎呀视频在线观看