日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

package.json文件是个什么东东?

發布時間:2023/12/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 package.json文件是个什么东东? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

package.json文件

一、node_modules文件夾的問題

文件夾以及文件過多過碎,當我們將項目整體拷貝給別人的時候,,傳輸速度會很慢很慢.
復雜的模塊依賴關系需要被記錄,確保模塊的版本和當前保持一致,否則會導致當前項目運行報錯

二、package.json文件的作用

項目描述文件,記錄了當前項目信息,例如項目名稱、版本、作者、github地址、當前項目依賴了哪些第三方模塊等。使用npm安裝第三方模塊是模塊的相關信息會自動添加到package.json文件中。

使用npm init -y (y 就是 yes 的意思)命令生成。

詳細情況:

{ //項目名稱"name": "description",//項目的版本"version": "1.0.0",//項目的描述"description": "在這里可以快速了解當前項目的功能及作用",//項目的主入口文件,在模塊化項目中都會有一個主模塊,main 里面填寫的就是主模塊的入口文件"main": "index.js",//定義命令別名,當命令很長時可以使用別名替換//使用方法:npm run 別名"scripts": {"test": "echo \"Error: no test specified\" && exit 1","build": "nodemon app.js"},//關鍵字,它允許我們使用關鍵字去描述當前的項目"keywords": [],//項目的作者"author": "",//項目遵循的協議,默認是ISC也就是開放源代碼的協議"license": "ISC",//項目依賴所需要的第三方模塊(包)"dependencies": {"formidable": "^1.2.1","mime": "^2.3.1"},//開發依賴所需要的第三方模塊(包)"devDependencies": {"gulp": "^3.9.1"} }

三、項目依賴

在項目的開發階段和線上運營階段,都需要依賴的第三方包,稱為項目依賴
使用npm install 包名命令下載的文件會默認被添加到 package.json 文件的 dependencies 字段中

{"dependencies": {"jquery": "^3.3.1}}

五、開發依賴

在項目的開發階段需要依賴,線上運營階段不需要依賴的第三方包,稱為開發依賴。
使用npm install 包名 --save-dev命令將包添加到package.json文件的devDependencies字段中,以此來區分項目依賴。

{"devDependencies": {"gulp": "^3.9.1}}

npm install 會安裝所有依賴包,也就是開發依賴。
npm install --production 只會安裝項目依賴所需要的包。這樣就實現了按需安裝。

六、package-lock.json文件的作用

在生成package.json文件的同時,還會生成一個package-lock.json文件。
作用如下:

  • 鎖定包的版本,確保再次下載時不會因為包版本不同而產生問題
  • 加快下載速度,因為該文件中已經記錄了項目所依賴第三方包的樹狀結構和包的下載地址,重新安裝時只需下載即可,不需要做額外的工作
  • 相關代碼示例:

    {"name": "description","version": "1.0.0","lockfileVersion": 1,"requires": true,"dependencies": {"ansi-gray": {//包版本,及其下載地址"version": "0.1.1","resolved": "http://registry.npm.taobao.org/ansi-gray/download/ansi-gray-0.1.1.tgz","integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=","dev": true,"requires": {"ansi-wrap": "0.1.0"}}

    七、Node.js中模塊加載機制

    (1) 模塊查找規則-當模塊擁有路徑但沒有后綴時

    如:

    require('./find.js'); require('./find');
  • require方法根據模塊路徑查找模塊,如果是完整路徑,直接引入模塊。
  • 如果模塊后綴省略,先找同名JS文件再找同名JS文件夾
  • 如果找到了同名文件夾,找文件夾中的index.js
  • 如果文件夾中沒有index.js就會去當前文件夾中的package.json文件中查找main選項中的入口文件
  • 如果找指定的入口文件不存在或者沒有指定入口文件就會報錯,模塊沒有被找到
  • (2) 模塊查找規則-當模塊沒有路徑且沒有后綴時

    如:

    require('find');
  • Node.js會假設它是系統模塊
  • Node.js會去node_modules文件夾中
  • 首先看是否有該名字的JS文件
  • 再看是否有該名字的文件夾
  • 如果是文件夾看里面是否有index.js
  • 如果沒有index.js查看該文件夾中的package.json中的main選項確定模塊入口文件
  • 否則找不到報錯
  • 總結

    以上是生活随笔為你收集整理的package.json文件是个什么东东?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。