91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VSCode配置react開發環境的步驟

發布時間:2020-09-09 20:29:59 來源:腳本之家 閱讀:1160 作者:劉小光 欄目:web開發

vscode 默認配置對于 react 的 JSX 語法不友好,體現在使用自動格式化或者粘貼后默認縮進錯誤,盡管可以通過改變 language mode 緩解錯誤,但更改 language mode 后的格式化依然不夠理想。

通過搭配使用 ESLint 和 Prettier 插件可以實現在 vscode 中完美支持 JSX 語法。

編輯器安裝插件

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

  1. ESLint
  2. Prettier

項目中的配置

配置ESLint

基礎配置

項目中安裝 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相關插件
 "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
 }
}

需要注意幾點:

  1. 如果使用 yarn 安裝,需要手動創建 .eslintrc 文件
  2. 如果在使用過程中 eslint 報錯,提示缺少依賴,安裝相關依賴就好

可能遇到的問題

如果在項目中文件名后綴是 .js 而不是 .jsx ,可能會遇到下面的錯誤:

復制代碼 代碼如下:

[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 及以后版本已經不建議使用 .jsx 為后綴了,參考這個討論 No .jsx extension?

props validation 錯誤

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

檢測 props 的類型有助于寫出復用組件,最好不要把這個提醒關掉,如果一定要關,添加下面規則:

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

配置Prettier

我們想要的效果是: 配置 Prettier 按照 ESLint 的規則保存文件時自動格式化 JSX 代碼 ,步驟如下:

項目中安裝 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,

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

称多县| 郁南县| 神木县| 昌乐县| 夏邑县| 湘阴县| 通许县| 将乐县| 玛曲县| 达孜县| 常德市| 天长市| 西宁市| 麻城市| 长丰县| 库伦旗| 佛山市| 盐边县| 福州市| 汉中市| 镇平县| 商南县| 商城县| 射阳县| 竹山县| 紫阳县| 黄龙县| 嘉义县| 青龙| 浏阳市| 宜阳县| 建瓯市| 长泰县| 晋州市| 柞水县| 连平县| 调兵山市| 屏东市| 蚌埠市| 皋兰县| 明溪县|