<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之旅 廣告
                ## 【譯】package.json的使用 > Tips:package.json這一章比較重要,所以,我對npm官方文檔[Using a package.json](https://docs.npmjs.com/getting-started/using-a-package.json) 這一小節在個人理解的基礎上做了翻譯,你也可以直接查看[官方文檔](https://docs.npmjs.com/getting-started/using-a-package.json)。 [TOC] 管理本地安裝的包的最好方法是創建一個`package.json`文件。 **`package.json`文件會給你提供很多好東西:** 1. 它是你這個工程的基礎依賴和基本信息描述的集合。 2. 它允許你使用語義化版本管理規則,指定項目中能使用的包的版本。 3. 使你的構建版本可以重新生成,方便你與其他開發者分享代碼。 ### 必要項 `package.json `必須包括以下幾項: * **"name"** * 全部為小寫字母 * 一個單詞,無空格 * 允許半角破折號和下劃線 * **"version"** * 格式為 x.x.x * 遵循語義化版本號規則 [semver spec](https://docs.npmjs.com/getting-started/semantic-versioning) 示例: ~~~ { "name": "my-awesome-package", "version": "1.0.0" } ~~~ 只要有這兩項,就可以創建一個最簡單的node 模塊 ### 創建package.json文件 `$ npm init [-f|--force|-y|--yes]` npm init是初始化項目命令,會在你運行此命令的文件夾根目錄下創建項目配置文件`package.json`。同時,在命令行,程序會依次提示你輸入。這些問題最終會記錄到`package.json`文件中。 當你在命令行輸入`npm init`命令時,它會向用戶提問一系列問題,如果不用修改默認配置,一路回車就可以了,這些問題最終會記錄到`package.json`文件中。 在命令行回答問題這個過程不是必須的,你可以在后面添加 `-f`(即在命令行輸入 `npm init -f`)跳過回答問題的過程,這時,程序會使用默認值直接生成`package.json`文件。`npm init` 有4個可選參數,這里,其他3個參數(`--force、-y、--yes`)的效果和 `-f`是一樣的。 生成的`package.json`如下(npm版本不同,`JSON`字段會有不同): ~~~ { "name": "my_package", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "repository": { "type": "git", "url": "" }, "bugs": { "url": "" }, "homepage": "" } ~~~ * name:模塊的名稱,默認值是作者名字(如果有設置),除非在git目錄中,它會是git倉庫的名字,否則,為當前所在文件夾的名稱,當你將這個模塊發布之后,其他開發者就可以通過搜索這個名稱找到你發布的模塊。 * version:版本號,剛初始化的項目總是1.0.0; * description: 模塊描述,默認為空,當你發布模塊時,npm將使用README.md 或者README的第一行來描述,這個描述可以方便其他開發者找到你的模塊,提高模塊被其他開發者發現的概率。 * main:默認為index.js; * scripts:默認創建一行空的測試腳本;(這里可以先適當囫圇吞棗) * keywords:搜索關鍵字,默認為空,版本發布的時候,建議寫上,方便其他開發者搜索 * author:作者 * license:默認為ISC開源證書 * repository: 如果你有把這個模塊托管到git倉庫(比如github),這里可以填寫這個URL地址 * bugs: bug反饋地址(也是針對像在github做了代碼托管的模塊),默認為空 * homepage: 作者主頁默認為空 你也可以通過set命令來設置npm init過程的默認值。比如下邊的這些: > npm set init.author.email "wombat@npmjs.com" npm set init.author.name "ag_dubs" npm set init.license "MIT" ### 自定義npm init過程 除了設置`npm init`的默認值,你還可以完全自定義`npm Init` 整個過程。只需要在用戶目錄下,創建一個`.npm-init.js`文件,然后在`.npm-init.js`中編寫代碼即可。你可以像下面這樣編寫`.npm-init.js` ~~~ module.exports = { customField: 'Custom Field', otherCustomField: 'This field is really cool' } ~~~ 你也可以自定義在`npm init`過程中命令行提問的問題,這時,你需要用到prompt方法,寫法如下: ``` module.exports = prompt("what's your favorite flavor of ice cream buddy?", "I LIKE THEM ALL"); ``` 更多自定義npm init過程的細節可以參考[init-package-json](https://github.com/npm/init-package-json) ### 指定依賴包 你開發的模塊很多時候需要引入其他開發者開發的第三方模塊,這個時候,你需要在`package.json`中輸入引入所有需要的模塊,你可以通過以下兩種方式來實現: * dependencies: 這些模塊是你開發的模塊的依賴項,沒有這些模塊你的代碼就會報錯 * devDependencies: 這些模塊只在開發環境下使用,比如`jshint、grunt`等開發過程中的輔助工具 你可以直接用IDE打開package.json文件,然后手動編輯,其格式如下: ~~~ { "name": "my_package", "version": "1.0.0", "dependencies": { "my_dep": "^1.0.0" }, "devDependencies" : { "my_test_framework": "^3.1.0" } } ~~~ 不過,我們一般不會通過手動編輯`package.json`來引入第三方模塊,而是通過`--save 和 --save-dev`這兩個安裝標記來實現,這是添加依賴到你的package.json文件的更簡單(也更酷)的方式。 添加`package.json`依賴的入口(即執行該命令之后,第三方模塊會被寫入到`dependencies`字段中): `$ npm install <package_name> --save` 添加package.json開發環境依賴的入口(即執行該命令之后,第三方模塊會被寫入到`devDependencies`字段中): `$ npm install <package_name> --save-dev` dependencies和devDependencies的成員都必須按照`“模塊名稱”:"模塊版本"`來編寫, `模塊版本`的寫法遵從語義化版本管理的規則。 ### 管理依賴包的版本 `npm`使用語義化版本管理依賴包,也就是我們常說的“SemVer”。 如果在項目文件夾下存在`package.json`文件,你在此文件夾下運行命令`npm install`,npm就會檢查文件中列出的依賴包,并下載所有滿足語義化規則的最新版本的依賴包。 語以化版本號的內容不是本教程的重點,請參考[語義化版本控制](http://www.tuicool.com/articles/JnmuE3R)
                  <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>

                              哎呀哎呀视频在线观看