偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

[[321374]]

看起來沒啥問題,挺好的。

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

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

我們大多數(shù)會這樣來引入:

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

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

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

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

2. Python 中的模塊

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

下面用 Python 實現(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)在,在另一個Python模塊app內(nèi)部,將stringUtils導(dǎo)入equalsIgnoreCase函數(shù):

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

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

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

3. 解決方法

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

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

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

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

總結(jié)

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

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

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

 

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

2022-05-09 10:47:08

登錄SpringSecurity

2020-08-29 19:15:09

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

2022-09-29 15:32:58

云計算計算模式

2022-11-16 08:43:30

Node.js模塊

2020-10-16 15:06:59

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

2023-10-08 09:42:41

GitHubDataTable?Fill

2024-04-09 11:40:58

DartJSWasmGC

2021-11-02 22:50:10

鼠標計算機傳感器

2020-03-23 08:15:43

JavaScriptError對象函數(shù)

2011-12-09 11:16:48

Node.js

2018-02-06 09:40:25

PythonOOP繼承

2022-09-22 14:55:31

前端JavaScripthis

2022-09-26 13:10:17

JavaScriptthis

2015-04-29 10:02:45

框架如何寫框架框架步驟

2010-11-19 09:16:38

2022-06-29 08:32:04

游標MySQL服務(wù)器

2023-12-07 07:08:09

Angular函數(shù)

2023-04-26 10:21:04

2021-08-22 15:02:51

Windows 10Windows微軟

2010-05-17 09:51:51

Windows Emb
點贊
收藏

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