自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你知道 JS 中的模塊導(dǎo)入有一個(gè)缺點(diǎn)嗎?

開發(fā) 前端
在JavaScript中,導(dǎo)入語(yǔ)法會(huì)強(qiáng)制我們先指出要導(dǎo)入的項(xiàng)目(函數(shù),類,變量),然后再指明模塊的路徑。這種方法不太友好。

1. 命名導(dǎo)入和自動(dòng)完成

假設(shè)我編寫了一個(gè)簡(jiǎn)單的JavaScript模塊:

  1. // stringUtils.js 
  2. export function equalsIgnoreCase(string1, string2) { 
  3.   return string1.toLowerCase() === string2.toLowerCase(); 

模塊stringUtils具有導(dǎo)出了一個(gè)函數(shù)exequalsIgnoreCase,該函數(shù)比較兩個(gè)忽略大小寫的字符串。

[[321374]]

看起來(lái)沒啥問(wèn)題,挺好的。

現(xiàn)在在 app.js 文件中導(dǎo)入函數(shù) exequalsIgnoreCase

  1. / app.js 
  2. import { equalsIgnoreCase } from './stringUtils'; 
  3.  
  4. equalsIgnoreCase('Hello', 'hello'); // => true 

我們大多數(shù)會(huì)這樣來(lái)引入:

你知道 JS 中的模塊導(dǎo)入有一個(gè)缺點(diǎn)嗎?

首先,您必須編寫導(dǎo)入名稱import {}。在此步驟中,IDE無(wú)法提供有關(guān)要導(dǎo)入的可用名稱的任何建議。

然后,繼續(xù)寫入 from './stringUtils',然后移回大括號(hào)并展開自動(dòng)完成以選擇要導(dǎo)入的名稱。

盡管 ES6 模塊優(yōu)點(diǎn)很多,但導(dǎo)入模塊語(yǔ)法使自動(dòng)完成功能難以使用。

2. Python 中的模塊

現(xiàn)在讓我們嘗試在 Python 中導(dǎo)入命名組件。它有同樣的問(wèn)題嗎?

下面用 Python 實(shí)現(xiàn)的相同模塊stringUtils和函數(shù)equalsIgnoreCase:

  1. # stringUtils.py 
  2. def equalsIgnoreCase(string1, string2): 
  3.   return string1.lower() == string2.lower() 

在 Python 中,不必顯式地指出要導(dǎo)出的函數(shù)。

現(xiàn)在,在另一個(gè)Python模塊app內(nèi)部,將stringUtils導(dǎo)入equalsIgnoreCase函數(shù):

你知道 JS 中的模塊導(dǎo)入有一個(gè)缺點(diǎn)嗎?

在Python中,首先指出要從:from stringUtils哪里導(dǎo)入的模塊。

如果你想知道可以導(dǎo)入的函數(shù),編輯器已經(jīng)知道了模塊名并給出了必要的建議,這種方式會(huì)更加友好。

3. 解決方法

我能找到的在JavaScript中對(duì)命名導(dǎo)入啟用自動(dòng)完成的唯一解決方案是調(diào)用IDE以獲得幫助。

例如,在Visual Studio Code中, 可以安裝JavaScript (ES6) code snippets插件。

啟用插件后,通過(guò)使用imd代碼段并按tab鍵,光標(biāo)首先跳到編寫模塊路徑的位置。然后,在按下tab鍵后,光標(biāo)會(huì)跳轉(zhuǎn)回花括號(hào)內(nèi)的導(dǎo)入位置。它是這樣工作的:

你知道 JS 中的模塊導(dǎo)入有一個(gè)缺點(diǎn)嗎?

總結(jié)

在JavaScript中,導(dǎo)入語(yǔ)法會(huì)強(qiáng)制我們先指出要導(dǎo)入的項(xiàng)目(函數(shù),類,變量),然后再指明模塊的路徑。這種方法不太友好。

相反,在Python中,首先指定模塊名稱,然后指定要導(dǎo)入的組件:from stringUtils import equalsIgnoreCase。使用此語(yǔ)法可以輕松自動(dòng)完成導(dǎo)入的項(xiàng)目。

通過(guò)使用IDE的擴(kuò)展插件,例如 ES6 code snippet 插件,可以減輕JavaScript中命名導(dǎo)入自動(dòng)完成的問(wèn)題, 總比沒有好。

 

責(zé)任編輯:趙寧寧 來(lái)源: 大遷世界
相關(guān)推薦

2022-05-09 10:47:08

登錄SpringSecurity

2022-09-29 15:32:58

云計(jì)算計(jì)算模式

2020-08-29 19:15:09

python數(shù)據(jù)庫(kù)SQLite

2022-11-16 08:43:30

Node.js模塊

2020-10-16 15:06:59

開發(fā)技術(shù)方案

2023-10-08 09:42:41

GitHubDataTable?Fill

2021-11-02 22:50:10

鼠標(biāo)計(jì)算機(jī)傳感器

2024-04-09 11:40:58

DartJSWasmGC

2020-03-23 08:15:43

JavaScriptError對(duì)象函數(shù)

2010-11-19 09:16:38

2015-04-29 10:02:45

框架如何寫框架框架步驟

2011-12-09 11:16:48

Node.js

2023-12-07 07:08:09

Angular函數(shù)

2018-02-06 09:40:25

PythonOOP繼承

2022-06-29 08:32:04

游標(biāo)MySQL服務(wù)器

2021-08-22 15:02:51

Windows 10Windows微軟

2022-09-22 14:55:31

前端JavaScripthis

2022-09-26 13:10:17

JavaScriptthis

2010-05-17 09:51:51

Windows Emb

2021-09-07 10:29:11

JavaScript模塊CSS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)