2015-11-04 83 views
3

沒有package.json的node.js項目可以嗎?我在互聯網上看到的所有軟件都附帶package.json沒有package.json的Node.js項目

沒有package.json有什麼影響?

package.json是如何在第一個地方創建的?它是否自動創建?我想知道爲什麼我沒有package.json

回答

6

從根本上說在你的項目產生的package.json文件初始化NPM,package.json是你的應用程序的元文件。它列出了你的應用程序的所有配置。

沒有package.json有什麼影響?

只要您在本地運行所有代碼,並且不需要部署任何內容,

讓我們設置一個場景讓你更好地理解這一點。假設您使用節點編寫了一個精彩的應用程序。現在你周圍的所有小雞都想讓它玩。這太棒了! 現在你想把它給他們,並在開發過程中,你npm install編輯了很多東西,你的項目增長超過4TB大小。

有沒有數據存儲設備可用來扯巨大的代碼庫。

然後你夢想中的女孩說我想要它,我現在想要它。因此,您開始搜索節點應用程序的應用程序部署過程。

這就是你偶然發現一件神奇的東西package.json

所以你要做的就是在dependencies屬性下列出你所有的npm install ed模塊。然後你刪除node_modules文件夾,添加package.json並在github中提交整個該死的東西。即使.zip文件是10MB

然後,她得到的代碼。 類型在npm install && npm start(這會安裝所有從package.json`的依賴關係和啓動應用程序)

如果你的package.json然而,那就是你指定所有的依賴關係。

使用npm install

實施例的--save標誌。

npm install express --save

怎樣的package.json首先創造出來的?它是否自動創建?

您可以手動創建一個文本文件並將其保存爲package.json

OR

一個更復雜的方法是使用命令

npm init

我想知道爲什麼我沒有package.json

我也是! :)

你最有可能遵循的教程不強調項目的初始配置,或者這些教程的作者假設讀者已經具備了所有的基礎知識。

+0

很好的答案!現在事情很清楚。 – user781486

+0

1爲故事。歡鬧的 – joyBlanks

3

如果您編寫npm init,它會自動創建。

然後,您使用npm install packagename --save添加的每個包都將被添加到依賴關係列表中。

你需要package.json這樣,當你想用你的項目另一臺機器上,你不必複製所有node_modules,但只有.js文件,你寫,資產和package.json。然後,您可以運行npm install命令,它會自動下載並安裝所有必需的模塊(可在package.json的依存關係列表中找到)。

您也可以手動創建或編輯它,但是在安裝模塊時添加--save更容易,因此您不必擔心軟件包版本和類似的東西。

此外,如果你想創建一個npm包,一個開源項目或其他人將使用的東西,它可能是必需的或規範有此package.json文件描述您的項目。

+0

我直接去'npm install'而不運行'npm init'。奇怪的是,事情仍然有效。我仍然可以調用'require '。 – user781486

+0

你可以在這裏閱讀更多關於'npm install':https://docs.npmjs.com/cli/install – Cristy

1

package.json是npm文件,如果你不使用npm你不會有這個文件,如果你想在你的項目中使用外部庫,但如果你不需要它的話,npm是一個很棒的工具除非你做的事情非常簡單,否則不太可能),你也不需要package.json文件。

要使用npm init