我只在最近遇到這種做法,而看着Apollo Client examples - 我沒有意識到所有導入語句可能位於.js文件的底部。這似乎是一個好主意,因爲在打開文件時很少見到導入語句是我期望處理的內容。將ES6導入語句放在代碼文件的底部是否有缺點?
在訂單無關緊要的情況下,我們應該注意這種做法有什麼不利之處嗎?
這可能只是一個例子,因爲同一家公司puts imports at the top in production code - 但我不知道爲什麼它不適用於生產代碼。我們使用的是TypeScript,但我相信這些問題與vanilla ES6相同。
缺點是可讀性,我猜。通常情況下,你想在函數被調用之前定義你的函數,儘管在JS中提升函數並不重要,但是這樣做仍然被認爲是很好的做法。 – mhodges
其中一個主要缺點是可讀性,並且只要使用任何模塊捆綁器,它就會拋出錯誤,它會要求您將所有導入語句重新排列到頂端,這樣纔會更有意義。 – SsNewbie
*打開文件時很少見,導入語句正是我期待處理的內容* - 您可以輕鬆地在IDE中摺疊它們。另一方面,很多人可能想知道他們在當前文件中處理的是什麼。而瞧,似乎無依賴的模塊在沒有人期待的地方包含一堆進口產品。多麼好的方式讓同行開發人員難以相信。最好使用省略分號,括號和'1 == val'條件。 – estus