package.json文件的配置詳解

每個(gè)項(xiàng)目的根目錄下面,一般都有一個(gè)package.json文件,定義了這個(gè)項(xiàng)目所需要的各種模塊,以及項(xiàng)目的配置信息(比如名稱、版本、許可證等元數(shù)據(jù))

  1. 創(chuàng)建和使用package.json文件

    package.json文件可以手工編寫,也可以使用npm init命令自動(dòng)生成。

    有了package.json文件,直接使用npm install命令,就會(huì)在當(dāng)前目錄中安裝所需要的模塊。

    npm init
    npm install
    
  2. 內(nèi)容詳情

    {
      //必須,標(biāo)識(shí);不能包含node,js等關(guān)鍵字字段;將會(huì)是url的一部分
      //命令行的參數(shù),目錄名。所以不能以點(diǎn)號(hào)和下劃線開頭
      "name": "webpack-demo",
      //name和version組成的標(biāo)識(shí)是唯一的,改變包的時(shí)候應(yīng)該同時(shí)改變version
      "version": "1.0.0",
      //關(guān)鍵字 可選字段,方便npm search中查找
      "keywords": [ "test",  "cortex" ],
      //描述
      "description": "",
      //程序入口模塊的id
      "main": "server.js",
      // 代碼存放地址  可選字段
      "repository": "git://github.com/webpack-demo/demo.git",
      //普通licesnse可直接使用 你應(yīng)該要指定一個(gè)許可證,讓人知道使用的權(quán)利和限制的。
      //  如果你有更復(fù)雜的許可條件,或者想要提供給更多地細(xì)節(jié),可以給一個(gè)URL:
      /* "licenses" : [
        { "type" : "MyLicense"
        , "url" : "http://github.com/demo/project/path/to/license"
        }
      ]
    */
      "license": "MIT",
         //當(dāng)前包所依賴的其他包。即生產(chǎn)環(huán)境
      "dependencies": {
        "amazeui": "^2.7.2",
        "amazeui-react": "^1.2.3",
        "normalize.css": "^7.0.0",
        "react": "^15.5.4",
        "react-dom": "^15.5.4",
        "react-router": "^4.1.1",
        "react-router-dom": "^4.1.1"
      }
     // 外部測試或文檔框架。即測試環(huán)境依賴
     //  如果只需要下載使用某些模塊,而不下載這些模塊的測試和文檔框架,
     //  放在這個(gè)下面比較不錯(cuò)
      "devDependencies": {
        "babel-core": "^6.24.0",
        "babel-loader": "^6.4.1",
        "babel-plugin-react-transform": "^2.0.2",
        "babel-preset-es2015": "^6.24.0",
        "babel-preset-react": "^6.23.0",
        "css-loader": "^0.28.1",
        "file-loader": "^0.11.1",
        "html-webpack-plugin": "^2.28.0",
        "less": "^2.7.2",
        "less-loader": "^4.0.3",
        "open-browser-webpack-plugin": "0.0.5",
        "react-transform-hmr": "^1.0.4",
        "style-loader": "^0.17.0",
        "url-loader": "^0.5.8",
        "webpack": "^2.3.2",
        "webpack-dev-server": "^2.4.2",
        "webpack-hot-middleware": "^2.18.2"
      },
      //engines: 既可以指定node版本也可以指定npm版本
      "engines": {
        "node": ">=0.10.0"
      },
        //bin項(xiàng)用來指定各個(gè)內(nèi)部命令對(duì)應(yīng)的可執(zhí)行文件的位置。
      "bin": {
         "someTool": "./bin/someTool.js"
      }
      /*
          scripts: {  
          start: './node_modules/someTool/someTool.js build'
        }
    
        // 簡寫為
    
        scripts: {  
          start: 'someTool build'
        }
      */
      //script 由腳本命令組成的hash對(duì)象在包不同生命周期運(yùn)行
      // key 時(shí)生命周期事件,value時(shí)要運(yùn)行的命令
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start_html":"webpack --config webpack.html.config.js",
        "start_es6":"webpack --config webpack.es6.config.js",
        "start_react":"webpack --config webpack.react.config.js",
        "start_todo":"webpack --config webpack.todo.config.js",
        "build":"webpack-dev-server --port 3000 --hot --inline",
        "build_es6":"webpack-dev-server --port 4000 --hot --inline --config webpack.es6.config.js",
        "build_todo":"webpack-dev-server --port 4000 --hot --inline --config webpack.todo.config.js"
      },
      //homepage:項(xiàng)目官網(wǎng)   可選字段
      "homepage": "http://github.com/panqianjin/hello"
      "author": {
        "name": "qianjin.pan",
        "email": "qinajin.pan@dianping.com"
      },
      //問題追蹤系統(tǒng)的url或者郵箱 可選字段
      "bugs": {
        "url": "http://github.com/panqianjin/hello/issues"
      },
        //  指定你的包可以在哪些系統(tǒng)平臺(tái)下運(yùn)行
      "os": [ "darwin", "linux", "!win32" ],
    //  可以指定包運(yùn)行的cpu架構(gòu)
      "cpu": [ "x64", "!arm" ]
    }
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,383評(píng)論 7 35
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,682評(píng)論 2 71
  • 最近在學(xué)習(xí) Webpack,網(wǎng)上大多數(shù)入門教程都是基于 Webpack 1.x 版本的,我學(xué)習(xí) Webpack 的...
    My_Oh_My閱讀 8,345評(píng)論 40 247
  • 學(xué)習(xí)流程 參考文檔:入門Webpack,看這篇就夠了Webpack for React 一. 簡單使用webpac...
    Jason_Zeng閱讀 3,266評(píng)論 2 16
  • 我喜歡看到別人真實(shí)真誠的樣子,讓我也能真實(shí)起來,感覺很好[擁抱][擁抱][擁抱]
    沐浴光的小孩閱讀 185評(píng)論 0 0

友情鏈接更多精彩內(nèi)容