国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JS > 正文

VSCode配置react開(kāi)發(fā)環(huán)境的步驟

2024-05-06 16:41:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

vscode 默認(rèn)配置對(duì)于 react 的 JSX 語(yǔ)法不友好,體現(xiàn)在使用自動(dòng)格式化或者粘貼后默認(rèn)縮進(jìn)錯(cuò)誤,盡管可以通過(guò)改變 language mode 緩解錯(cuò)誤,但更改 language mode 后的格式化依然不夠理想。

通過(guò)搭配使用 ESLint 和 Prettier 插件可以實(shí)現(xiàn)在 vscode 中完美支持 JSX 語(yǔ)法。

編輯器安裝插件

在 vscode 中需要安裝下面插件:

  1. ESLint
  2. Prettier

項(xiàng)目中的配置

配置ESLint

基礎(chǔ)配置

項(xiàng)目中安裝 babel-eslint , eslint-plugin-jsx-a11y , eslint-plugin-react 依賴:

npm install babel-eslint eslint-plugin-jsx-a11y eslint-plugin-react --save-dev

推薦的 ESLint 配置如下(修改 .eslintrc )

{ // Use the AirBnB JS styleguide - https://github.com/airbnb/javascript "extends": "airbnb", // We use 'babel-eslint' mainly for React Native Classes "parser": "babel-eslint", "ecmaFeatures": {  "classes": true, }, // jsx相關(guān)插件 "plugins": ["react", "jsx-a11y", "import"] // We can add/overwrite custom rules here "rules": {  // React Native has JSX in JS files  "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],  // React Native includes images via require("../images/example.png")  "global-require": 0 }}

需要注意幾點(diǎn):

  1. 如果使用 yarn 安裝,需要手動(dòng)創(chuàng)建 .eslintrc 文件
  2. 如果在使用過(guò)程中 eslint 報(bào)錯(cuò),提示缺少依賴,安裝相關(guān)依賴就好

可能遇到的問(wèn)題

如果在項(xiàng)目中文件名后綴是 .js 而不是 .jsx ,可能會(huì)遇到下面的錯(cuò)誤:

復(fù)制代碼 代碼如下:

[eslint] JSX not allowed in files with extension '.js' (react/jsx-filename-extension)

 

在 .eslintrc 中添加新的 rules 允許 .js 和 .jsx 后綴就好:

"rules": { "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }]}

react-native 0.49 及以后版本已經(jīng)不建議使用 .jsx 為后綴了,參考這個(gè)討論 No .jsx extension?

props validation 錯(cuò)誤

[eslint] 'navigation' is missing in props validation (react/prop-types)

檢測(cè) props 的類(lèi)型有助于寫(xiě)出復(fù)用組件,最好不要把這個(gè)提醒關(guān)掉,如果一定要關(guān),添加下面規(guī)則:

"rules": { "react/prop-types": 0}

配置Prettier

我們想要的效果是: 配置 Prettier 按照 ESLint 的規(guī)則保存文件時(shí)自動(dòng)格式化 JSX 代碼 ,步驟如下:

項(xiàng)目中安裝 prettier-eslint

npm install prettier-eslint --save-dev

配置 vscode workspace

在 vscode workspace 用戶自定義部分添加如下代碼:

// Format a file on save. // A formatter must be available, // the file must not be auto-saved, // and editor must not be shutting down."editor.formatOnSave": true,  // Enable/disable default JavaScript formatter (For Prettier)"javascript.format.enable": false,  // Use 'prettier-eslint' instead of 'prettier'. // Other settings will only be fallbacks // in case they could not be inferred from eslint rules."prettier.eslintIntegration": true,

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 北京市| 安吉县| 裕民县| 仙游县| 察雅县| 如东县| 余干县| 青神县| 嵩明县| 陆丰市| 洛浦县| 临清市| 喀喇沁旗| 冕宁县| 陈巴尔虎旗| 化隆| 宁都县| 和田市| 纳雍县| 隆化县| 南乐县| 安远县| 淮南市| 兴化市| 奈曼旗| 元阳县| 高安市| 巴中市| 新野县| 石屏县| 大港区| 洞口县| 清苑县| 深圳市| 旬邑县| 萝北县| 揭东县| 苍山县| 大新县| 威海市| 徐水县|