簡體   English   中英

為什么 React 項目名稱不能包含大寫字母?

[英]Why can't React project name contain capital letters?

嘗試在 React 中創建新項目“newRecipeApp”時收到以下消息。

npx: installed 91 in 29.359s
Could not create a project called "newRecipeApp" because of npm naming restrictions:
  *  name can no longer contain capital letters

這是什么原因? 為什么 npm 中對大寫字母有命名限制?

您可以閱讀此https://github.com/facebook/create-react-app/issues/2165 NPM 包的名稱中不允許使用大寫字符,這似乎是因為 unix 文件系統區分大小寫,這創建了“混亂和不可移植的軟件”。

這在用作便攜式軟件的庫的上下文中非常有意義; 但是,在談到終端應用程序時,尤其是那些在不區分大小寫的環境(如 Windows)中開發的應用程序時,就不是那么多了。

PR1652 引入了使用 validate-npm-package-name 的項目名稱驗證,假設是為了避免輸出在名稱中顯示空格的問題。

“React 應用程序”作為一個不同的(例如:不太關注“可移植性”)類別的軟件,是否應該有這些相同的限制?

例如,我不是在嘗試制作 npm 包/庫。 我正在嘗試使用 create-react-app 來生成一個應用程序,我需要遵循我公司的應用程序命名約定,該約定要求在應用程序名稱中使用大寫字母。

這主要是因為 NPM 不允許大寫字母。 因此,為了確保與 NPM 的命名方案兼容,他們可能已經這樣做了。

這可能會調和 linux 和 OSX 之間的命名問題。 Linux 區分同名但大寫字母的目錄/文件,而 OSX 不區分。 因此,想象一下有人在 linux 中創建了一個名為 WebApp 的項目和另一個名為 webapp 的項目。 如果他們嘗試將兩者都下載到 OSX 平台,則這些項目之一將被覆蓋。 為了解決這個問題,NPX 開發人員可能決定只強制所有目錄名稱小寫,因此如果 linux 用戶創建了 webapp 然后嘗試創建或下載 WebApp,對於需要下載這兩個項目的 mac 用戶來說,將會有一個保護。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM