• <menu id="w2i4a"></menu>
  • logo IntelliJ IDEA系列教程:

    文檔首頁>>IntelliJ IDEA系列教程:>>Java開發(fā)平臺IntelliJ IDEA教程:與React集成(下)

    Java開發(fā)平臺IntelliJ IDEA教程:與React集成(下)


    IntelliJ IDEA是Java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為優(yōu)秀的Java開發(fā)工具之一,尤其在智能代碼助手、代碼自動提示、重構(gòu)、J2EE支持、Ant、JUnit、CVS整合、代碼審查、 創(chuàng)新的GUI設(shè)計等方面的功能可以說是超常的。

     IntelliJ IDEA現(xiàn)已更新至2019.2版本,新版本改進(jìn)了java13預(yù)覽等20余項功能,提高了開發(fā)效率,趕快下載體驗吧~(點擊查看更新詳情)

    點擊下載IntelliJ IDEA最新試用版

    **僅Ultimate Edition 支持此功能。

    整理一個React應(yīng)用程序

    所有針對JavaScript和HTML 的IntelliJ IDEA內(nèi)置代碼檢查都可以在JSX代碼中使用。IntelliJ IDEA會在變量和函數(shù)未使用,缺少結(jié)束標(biāo)記,缺少語句等情況下提醒您:

    Java開發(fā)平臺IntelliJ IDEA教程:與React集成(下)

    對于某些檢查,IntelliJ IDEA提供了快速修復(fù),例如,建議添加缺少的方法。要查看快速修復(fù)彈出窗口,請按Alt+Enter。

    要自定義檢查清單,請打開 該 編輯器| IntelliJ IDEA設(shè)置的“ 檢查”頁面 Ctrl+Alt+S,并禁用您不想查看的檢查或更改其嚴(yán)重性級別。

    使用ESLint

    除了提供內(nèi)置的代碼檢查之外,IntelliJ IDEA還與linters集成在一起,例如用于JSX代碼的ESLint。 ESLint帶來了各種各樣的整理規(guī)則,這些規(guī)則也可以通過插件進(jìn)行擴展。鍵入時,IntelliJ IDEA會在編輯器中立即顯示ESLint報告的警告和錯誤。借助ESLint,您還可以使用JavaScript標(biāo)準(zhǔn)樣式。

    為了讓ESLint正確理解React JSX語法,您需要eslint-plugin-react。使用此插件,例如,當(dāng)未為React組件設(shè)置顯示名稱或使用了某些危險的JSX屬性時,系統(tǒng)會警告您:

    Java開發(fā)平臺IntelliJ IDEA教程:與React集成(下)

    如果您使用create-react-app創(chuàng)建了應(yīng)用程序,則您的開發(fā)環(huán)境已經(jīng)預(yù)先配置為使用ESLint。

    在IntelliJ IDEA中開始使用ESLint

    1. 在內(nèi)置終端(視圖|工具窗口|終端)中,鍵入npm install --save-dev eslint 和npm install --save-dev eslint-plugin-react。

    2. 將ESLint配置文件.eslintrc添加到您的項目。

    3. 在“ 設(shè)置/首選項”對話框(Ctrl+Alt+S)中,轉(zhuǎn)到“ 語言和框架” | JavaScript | 代碼質(zhì)量工具| ESLint。在打開的ESLint頁面上,選擇自動ESLint配置。IntelliJ IDEA會自動在項目的node_modules文件夾中找到ESLint ,然后默認(rèn)使用.eslintrc配置。

    您還可以手動配置ESLint以使用自定義ESLint軟件包和配置。

    Java開發(fā)平臺IntelliJ IDEA教程:與React集成(下)

    .eslintrc結(jié)構(gòu)示例(帶有react插件的ESLint 1.x)

    • 在ecmaFeatures對象中,添加"jsx" = true。您還可以在此處指定要使用的其他語言功能,例如ES6類,模塊等。

    • 在plugins對象中,添加react。

    • 在該rules對象中,您可以列出 要啟用的ESLint內(nèi)置規(guī)則以及可通過react plugin可用的規(guī)則。

    {
       "parser": "babel-eslint",
      
       "env": {
        
       "browser": true
      
        },
      "ecmaFeatures": {
        
        "jsx": true
      
        },
      "plugins": [
       
         "react"
      ],
      
         "rules": { 
         "semi": 2 
         }
    }

    重構(gòu)一個作出反應(yīng)的應(yīng)用

    除了常見的IntelliJ IDEA重構(gòu)之外,在React應(yīng)用程序中,您還可以為React組件運行Rename并使用Extract Component 創(chuàng)建新組件。

    重命名組件

    將插入號放置在組件名稱中,然后按 Shift+F6

    下面是重命名僅在一個文件中定義和使用的組件的示例:

    1570847565.gif

    以相同的方式,您可以重命名在一個文件中定義的組件,然后使用命名的export導(dǎo)入到另一個文件:

    1570847670.gif

    提取JSX代碼

    您可以通過從現(xiàn)有組件的render方法中提取JSX代碼來創(chuàng)建新的React組件。

    1、選擇要提取的代碼,然后選擇“ 重構(gòu)”。從主菜單或上下文菜單中提取| Component。

    2、命名組件。

    3、選擇類如果要定義組件作為一個類或函數(shù),如果你想創(chuàng)建一個功能組件。

    4、單擊確定。新組件將在現(xiàn)有組件的旁邊定義并在其中使用。

    1570847946.gif

    5、可選:使用“ 移動符號”重構(gòu) 將新組件和所有必需的導(dǎo)入移動到單獨的文件中。

    要修改IntelliJ IDEA用于新組件的代碼模板, 在設(shè)置/首選項對話框(Ctrl+Alt+S)中,轉(zhuǎn)到編輯器| 文件和代碼模板,然后打開代碼選項卡。

    解構(gòu)的應(yīng)用做出反應(yīng)

    通過解構(gòu),您可以輕松地將數(shù)組和對象中的值分解為變量。此功能具有非常簡潔的語法,通常在需要在應(yīng)用程序中傳遞數(shù)據(jù)時使用。

    在IntelliJ IDEA中,您可以使用專用的重構(gòu),意圖操作或快速修復(fù),簡化從數(shù)組或?qū)ο笾蝎@取多個值的代碼片段。在使用React類組件時,請考慮使用Introduce對象或數(shù)組銷毀意圖動作。

    1570848238.gif

    運行和調(diào)試應(yīng)用程序做出反應(yīng)

    建議開始構(gòu)建新的React單頁應(yīng)用程序的方法是Create React App。僅在這種情況下,您的開發(fā)環(huán)境才被預(yù)先配置為使用webpack和Babel。否則,您需要首先配置構(gòu)建管道。

    要運行一個應(yīng)用程序做出反應(yīng)

    僅適用于使用創(chuàng)建的應(yīng)用程序create-react-app。

    在npm工具窗口(“ 視圖” |“工具窗口” |“ npm”)中,雙擊start任務(wù)。

    WebPack熱模塊的更換,開發(fā)服務(wù)器運行時,應(yīng)用程序就會自動為你改變?nèi)魏蔚脑次募⒈4娓轮匦录虞d。

    要調(diào)試應(yīng)用程序做出反應(yīng)

    僅適用于使用創(chuàng)建的應(yīng)用程序create-react-app。

    1、雙擊npm工具窗口中的啟動任務(wù) ,以開發(fā)模式啟動應(yīng)用程序。

    2、等待應(yīng)用程序被編譯并且Webpack開發(fā)服務(wù)器準(zhǔn)備就緒。在http:// localhost:3000 /中打開瀏覽器 以查看該應(yīng)用程序。

    3、復(fù)制運行應(yīng)用程序的URL地址(默認(rèn)情況下為http:// localhost:3000 /),以后在創(chuàng)建調(diào)試配置時將需要此URL。

    1570848540.png

    5、創(chuàng)建一個新的JavaScript調(diào)試配置:選擇Run | 編輯配置,單擊添加圖標(biāo),然后從列表中選擇JavaScript調(diào)試。在“ 運行/調(diào)試配置:JavaScript調(diào)試”對話框中,將保存的URL http:// localhost:3000 /粘貼 到URL字段中。保存配置。

    6、通過調(diào)試按鈕在配置列表旁邊單擊,在代碼中設(shè)置斷點并啟動調(diào)試會話 。

    7、當(dāng)遇到第一個斷點時,切換到“ 調(diào)試工具”窗口,然后照常進(jìn)行: 逐步執(zhí)行程序, 停止并繼續(xù)執(zhí)行程序, 在掛起時對其進(jìn)行檢查,瀏覽調(diào)用堆棧和變量,設(shè)置監(jiān)視,評估變量, 查看實際HTML DOM等等。

    1570848768.png

    構(gòu)建應(yīng)用程序做出反應(yīng)

    如果在現(xiàn)有的IntelliJ IDEA項目中安裝了React,則需要設(shè)置構(gòu)建過程 。

    如果您使用create-react-app創(chuàng)建應(yīng)用程序,則 您的開發(fā)環(huán)境已經(jīng)預(yù)先配置為使用Webpack和Babel。

    測試應(yīng)用程序做出反應(yīng)

    您可以在使用create-react-app創(chuàng)建的React應(yīng)用程序中 運行和調(diào)試Jest測試。在開始之前,請確保將react-scripts包添加到package.json的 依賴項對象中。 

    您可以通過運行/調(diào)試配置來運行和調(diào)試Jest測試,或者直接在編輯器中或在“ 項目”工具窗口中運行Jest測試。

    要創(chuàng)建一個Jest運行/調(diào)試配置

    1、打開“ 運行/調(diào)試配置”對話框(主菜單上的“運行” |“編輯配置 ”),添加按鈕在左側(cè)窗格中單擊,然后從列表中選擇“ 笑話 ”。將打開“ 運行/調(diào)試配置:Jest”對話框。

    或者,在“ 項目”工具窗口中選擇一個測試文件,然后從上下文菜單中選擇“ 創(chuàng)建

    2、指定要使用的節(jié)點解釋器以及 應(yīng)用程序的工作目錄。默認(rèn)情況下,工作目錄字段顯示項目根文件夾。要更改此預(yù)定義設(shè)置,請指定所需文件夾的路徑,或從列表中選擇以前使用的文件夾。

    3、在“ Jest包”字段中,指定react-scripts包的路徑。

    4、在“ Jest選項”字段中,輸入--env=jsdom。

    1570849072.png


    運行測試

    1、從主工具欄上的列表中選擇Jest運行/調(diào)試配置,然后單擊覆蓋范圍內(nèi)運行 。

    2、測試服務(wù)器將自動啟動,而無需您采取任何步驟。在“ 運行工具”窗口中查看和分析來自測試服務(wù)器的消息。

    3、在 “ 運行” 工具窗口的“ 測試運行器”選項卡中監(jiān)視測試執(zhí)行。

    調(diào)試測試

    1、從主工具欄上的列表中選擇Jest運行/調(diào)試配置,然后單擊調(diào)試按鈕

    2、在打開的“ 調(diào)試工具”窗口中,照常進(jìn)行: 逐步執(zhí)行測試, 停止并繼續(xù)執(zhí)行 測試,在掛起時檢查測試,依此類推。

    已知限制

    首次在調(diào)試會話期間打開應(yīng)用程序時,可能會發(fā)生以下情況:頁面加載時執(zhí)行的代碼中的某些斷點未命中。原因是要在原始源代碼中的斷點處停止,IntelliJ IDEA需要從瀏覽器獲取源映射。但是,瀏覽器只能在頁面完全加載至少一次之后才能傳遞這些源映射。解決方法是,自己在瀏覽器中重新加載頁面。

    =====================================================

    IntelliJ IDEA示例/使用教程/視頻資源合集,請點擊此處查看

    想要了解或購買IntelliJ IDEA正版授權(quán)的朋友,歡迎咨詢慧都官方客服

    關(guān)注下方微信公眾號,及時獲取產(chǎn)品最新消息和最新資訊

    圖片2.jpg

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();