2017-09-05 69 views
3

正如我在衆多來源中看到的,package.json不影響啓動angular2應用程序或任何其他應用程序(例如React.js應用程序)。基本上,package.json只提供信息(也被稱爲元數據,幫助開發人員知道他們在他們的應用中,某種總結爲整個應用程序結節?angular2中的package.json是否需要以任何方式啓動應用程序?

這是正確的,我寫的是什麼?

我試圖刪除一些並運行應用程序,而不需要整個package.json並且應用程序成功啓動。

在作出反應,我們有webpack.config.js但我知道,在角度這是隱藏的,不打算被修改。但是,當我看到一個文件連接到應用程序構建過程而非背景場景(比如角度)時,我感覺更舒適。

有人可以詳細說明並確認上述論題是否都是正確的?

回答

8

package.json file is required。 它包含所有依賴項(依賴項,DevDependency和peerDependency) 與角度項目的版本。

當您運行npm install命令時,它將安裝在package.json下列出的所有node_modules。因此,您需要將代碼從一臺PC傳輸到其他PC,然後無需傳輸所需的所有node_modules,只需輸入適當的package.json文件並運行npm install命令即可。

一旦你在你的電腦中安裝了所有的依賴項,那麼如果你在這個文件中做了任何修改,應用程序就會啓動。

+0

所以基本上我需要它在預運行,但是當我真的運行我的應用程序,ng服務我不需要它了? – masterach

+1

它不會給出任何錯誤。 –

+1

這是非常有用的tnx – masterach

1

它高度依賴於設置。

Angular和React都不要求您使用package.json或Webpack。

正如我在許多來源已經閱讀的package.json不影響啓動了angular2應用程序或任何其他應用程序(React.js應用爲例)。

這取決於。如果您使用npm腳本,或者您的構建過程需要package.json文件,那麼這是必需的。否則它是可選的。但請注意,使用它是前端和Node.js項目中的最佳實踐。

基本上只的package.json提供的信息(也稱爲元數據,幫助開發人員知道他們在他們的應用中,某種總結整個應用程序的結節?

這是正確的。當你想將你的項目發佈到npm包存儲庫時,package.json文件也被使用。

在反應中,我們有webpack.config.js,但我知道,在角度這是隱藏的,並不意味着被修改。

當您提到構建過程在Angular中「隱藏」時,我想您是指Angular CLI。你是對的,那Angular CLI uses Webpack幕後。但是,在Angular項目中使用Angular CLI是完全可選的,您可以創建自己的構建配置。

+0

所以基本上你是說如果我使用npm start而不是ng serve,那麼我需要包json?換句話說,npm start將使用包json來指向結節文件夾和文件? – masterach

+1

@masterach或多或少。 'npm start'將運行在package.json文件中配置的腳本。但這並不意味着你實際上有一個node_modules目錄。運行腳本和依賴項管理是npm的兩個特性,但是您可以使用另一個。 – str

+0

當然,但它仍然會(npm start)去查看包json中寫入的內容,因此遵循包json命令,它至少會嘗試並運行,我是否正確? – masterach

相關問題