99久久精品国产片-99久久精品国产免费-99久久精品国产麻豆-99久久精品国产国产毛片-99久久精品国产高清一区二区-99久久精品费精品国产一区二区

使用 VSCode 開發 Gatsby 項目配置

2020-6-3    seo達人

初始化

使用 https://github.com/XYShaoKang... 作為基礎模板

gatsby new gatsby-project-config https://github.com/XYShaoKang/gatsby-hello-world

Prettier 配置

安裝 VSCode 擴展

按 Ctrl + P (MAC 下: Cmd + P) 輸入以下命令,按回車安裝


ext install esbenp.prettier-vscode

安裝依賴

yarn add -D prettier

Prettier 配置文件.prettierrc.js

// .prettierrc.js

module.exports = {

 trailingComma: 'es5',

 tabWidth: 2,

 semi: false,

 singleQuote: true,

 endOfLine: 'lf',

 printWidth: 50,

 arrowParens: 'avoid',

}

ESLint 配置

安裝 VSCode 擴展

按 Ctrl + P (MAC 下: Cmd + P) 輸入以下命令,按回車安裝


ext install dbaeumer.vscode-eslint

安裝 ESLint 依賴

yarn add -D eslint babel-eslint eslint-config-google eslint-plugin-react eslint-plugin-filenames

ESLint 配置文件.eslintrc.js

使用官方倉庫的配置,之后在根據需要修改


// https://github.com/gatsbyjs/gatsby/blob/master/.eslintrc.js

// .eslintrc.js

module.exports = {

 parser: 'babel-eslint',

 extends: [

   'google',

   'eslint:recommended',

   'plugin:react/recommended',

 ],

 plugins: ['react', 'filenames'],

 parserOptions: {

   ecmaVersion: 2016,

   sourceType: 'module',

   ecmaFeatures: {

     jsx: true,

   },

 },

 env: {

   browser: true,

   es6: true,

   node: true,

   jest: true,

 },

 globals: {

   before: true,

   after: true,

   spyOn: true,

   __PATH_PREFIX__: true,

   __BASE_PATH__: true,

   __ASSET_PREFIX__: true,

 },

 rules: {

   'arrow-body-style': [

     'error',

     'as-needed',

     { requireReturnForObjectLiteral: true },

   ],

   'no-unused-expressions': [

     'error',

     {

       allowTaggedTemplates: true,

     },

   ],

   'consistent-return': ['error'],

   'filenames/match-regex': [

     'error',

     '^[a-z-\\d\\.]+$',

     true,

   ],

   'no-console': 'off',

   'no-inner-declarations': 'off',

   quotes: ['error', 'backtick'],

   'react/display-name': 'off',

   'react/jsx-key': 'warn',

   'react/no-unescaped-entities': 'off',

   'react/prop-types': 'off',

   'require-jsdoc': 'off',

   'valid-jsdoc': 'off',

 },

 settings: {

   react: {

     version: '16.4.2',

   },

 },

}

解決 Prettier ESLint 規則沖突

推薦配置


安裝依賴


yarn add -D eslint-config-prettier eslint-plugin-prettier

在.eslintrc.js中的extends添加'plugin:prettier/recommended'


module.exports = {

 extends: ['plugin:prettier/recommended'],

}

VSCode 中 Prettier 和 ESLint 協作

方式一:使用 ESLint 擴展來格式化代碼

配置.vscode/settings.json


// .vscode/settings.json

{

 "eslint.format.enable": true,

 "[javascript]": {

   "editor.defaultFormatter": "dbaeumer.vscode-eslint"

 },

 "[javascriptreact]": {

   "editor.defaultFormatter": "dbaeumer.vscode-eslint"

 }

}

ESLint 擴展會默認忽略.開頭的文件,比如.eslintrc.js

如果需要格式化.開頭的文件,可以在.eslintignore中添加一個否定忽略來啟用對應文件的格式化功能.


!.eslintrc.js

或者直接使用!.*,這樣可以開啟所有點文件的格式化功能


方式二:使用 Prettier 擴展來格式化代碼

在版prettier-vscode@v5.0.0中已經刪除了直接對linter的集成,所以版沒法像之前那樣,通過prettier-eslint來集成ESLint的修復了(一定要這樣用的話,可以通過降級到prettier-vscode@4來使用了).如果要使用Prettier來格式化的話,就只能按照官方指南中的說的集成方法,讓Prettier來處理格式,通過配置在保存時使用ESlint自動修復代碼.只是這樣必須要保存文件時,才能觸發ESLint的修復了.


配置 VSCode 使用 Prettier 來格式化 js 和 jsx 文件

在項目中新建文件.vscode/settings.json


// .vscode/settings.json

{

 "[javascript]": {

   "editor.defaultFormatter": "esbenp.prettier-vscode"

 },

 "[javascriptreact]": {

   "editor.defaultFormatter": "esbenp.prettier-vscode"

 },

 "editor.codeActionsOnSave": {

   "source.fixAll.eslint": true

 }

}

說實話這個體驗很糟糕,之前直接一鍵格式化代碼并且修復 ESLint 錯誤,可以對比格式化之前和格式化之后的代碼,如果感覺不對可以直接撤銷更改就好了.現在必須要通過保存,才能觸發修復 ESlint 錯誤.而在開發過程中,通過監聽文件改變來觸發熱加載或者重新編譯是很常見的操作.這樣之后每次想要去修復 ESLint 錯誤,還是只是想看看修復錯誤之后的樣子,都必須要去觸發熱加載或重新編譯,每次操作的成本就太高了.

我更推薦第一種方式使用 ESLint 擴展來對代碼進行格式化.


調試 Gatsby 配置

調試構建過程

添加配置文件.vscode/launch.json


// .vscode/launch.json

{

 // 使用 IntelliSense 了解相關屬性。

 // 懸停以查看現有屬性的描述。

 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387

 "version": "0.2.0",

 "configurations": [

   {

     "name": "Gatsby develop",

     "type": "node",

     "request": "launch",

     "protocol": "inspector",

     "program": "${workspaceRoot}/node_modules/gatsby/dist/bin/gatsby",

     "args": ["develop"],

     "stopOnEntry": false,

     "runtimeArgs": ["--nolazy"],

     "sourceMaps": false,

     "outputCapture": "std"

   }

 ]

}

的gatsby@2.22.*版本中調試不能進到斷點,解決辦法是降級到2.21.*,yarn add gatsby@2.21.40,等待官方修復再使用版本的

調試客戶端

需要安裝 Debugger for Chrome 擴展


ext install msjsdiag.debugger-for-chrome

添加配置文件.vscode/launch.json


// .vscode/launch.json

{

 // 使用 IntelliSense 了解相關屬性。

 // 懸停以查看現有屬性的描述。

 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387

 "version": "0.2.0",

 "configurations": [

   {

     "type": "chrome",

     "request": "launch",

     "name": "Gatsby Client Debug",

     "url": "http://localhost:8000",

     "webRoot": "${workspaceFolder}"

   }

 ]

}

先啟動 Gatsby,yarn develop,然后按 F5 開始調試.

日歷

鏈接

個人資料

藍藍設計的小編 http://www.lapeinture.cn

存檔

成人a大片高清在线观看| 欧美激情在线精品video| 亚洲精品影院一区二区| 国产亚洲免费观看| 国产成人精品一区二区视频| 久久精品店| 国产高清视频免费观看| 精品国产三级a| 黄视频网站在线观看| 欧美1区| 99久久精品费精品国产一区二区| 成人高清免费| 欧美日本免费| 国产网站免费视频| 一本高清在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 九九精品在线播放| 91麻豆精品国产高清在线| 久久福利影视| 欧美一区二区三区性| 毛片高清| 99热精品在线| 精品久久久久久中文字幕2017| 成人高清视频在线观看| 97视频免费在线| 精品国产一区二区三区免费| 精品视频在线观看一区二区| 香蕉视频三级| 成人在激情在线视频| 欧美爱爱动态| 超级乱淫黄漫画免费| 国产极品精频在线观看| 一本高清在线| 国产福利免费视频| 亚洲天堂在线播放| 日韩在线观看视频免费| 成人高清视频免费观看| 精品国产一区二区三区久久久狼 | 国产亚洲精品aaa大片| 日韩专区在线播放| 黄色免费网站在线| 四虎影视库国产精品一区| 精品国产一区二区三区精东影业| 精品在线视频播放| 久久精品欧美一区二区| 精品在线观看一区| 夜夜操网| 久久国产一久久高清| 欧美国产日韩精品| 韩国毛片免费| 欧美另类videosbestsex视频| 一本高清在线| 成人高清护士在线播放| 国产伦精品一区三区视频| 欧美a级片视频| 国产精品123| 99热热久久| 99久久精品国产片| 欧美a级片视频| 韩国毛片 免费| 99久久精品国产片| 国产极品精频在线观看| 国产网站在线| 免费一级片网站| 国产一区二区精品| 在线观看导航| 成人高清视频免费观看| 成人高清免费| 国产网站免费| 免费国产在线视频| 精品视频免费观看| 国产一区二区精品久久91| 精品视频在线观看一区二区三区| 九九九在线视频| 国产高清视频免费观看| 亚洲天堂一区二区三区四区| 国产伦精品一区三区视频 | 午夜精品国产自在现线拍| 四虎影视库国产精品一区| 99热热久久| 韩国三级香港三级日本三级| 免费的黄视频| 成人在免费观看视频国产| 麻豆网站在线看| 午夜激情视频在线播放| 韩国三级香港三级日本三级| 免费国产在线视频| 国产成人女人在线视频观看| 日韩av东京社区男人的天堂| 精品久久久久久免费影院| 日日夜夜婷婷| 成人影院久久久久久影院| 九九干| 国产视频久久久| 国产极品精频在线观看| 成人免费网站视频ww| 日韩在线观看视频网站| 91麻豆精品国产自产在线观看一区 | 国产成人啪精品视频免费软件| 一级毛片视频在线观看| 韩国三级视频在线观看| 亚洲精品影院久久久久久| 黄色免费网站在线| 色综合久久久久综合体桃花网| 超级乱淫黄漫画免费| 成人a大片在线观看| 麻豆网站在线免费观看| 欧美激情中文字幕一区二区| 国产a网| 韩国毛片 免费| 91麻豆爱豆果冻天美星空| 你懂的日韩| 国产伦精品一区三区视频 | 九九免费高清在线观看视频| 尤物视频网站在线观看| 国产麻豆精品免费视频| 成人影院一区二区三区| 国产麻豆精品视频| 黄视频网站免费| 国产国语对白一级毛片| 九九免费高清在线观看视频| 精品美女| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 韩国毛片免费大片| 精品国产一区二区三区精东影业| 精品久久久久久综合网| 九九精品久久久久久久久| 国产成人精品在线| 日本伦理黄色大片在线观看网站| 美女免费精品视频在线观看| 精品国产香蕉在线播出| 国产成人精品综合| 九九免费高清在线观看视频| 精品视频一区二区三区免费| 久久成人亚洲| 国产麻豆精品免费密入口| 国产韩国精品一区二区三区| 久久久久久久网| 999久久66久6只有精品| 成人免费观看网欧美片| 天天做日日爱夜夜爽| 97视频免费在线| 久久久久久久男人的天堂| 久久成人亚洲| 精品视频一区二区三区免费| 午夜在线观看视频免费 成人| 久久国产一久久高清| 精品国产亚一区二区三区| 国产激情一区二区三区| 亚洲第一色在线| 91麻豆tv| 国产国语对白一级毛片| 成人高清免费| 国产综合成人观看在线| 黄视频网站免费| 日韩中文字幕在线亚洲一区| 午夜在线亚洲| 青草国产在线| 一级片片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品在线观看一区| 台湾美女古装一级毛片| 99色视频在线| 尤物视频网站在线观看| 99久久网站| 国产亚洲免费观看| 亚洲www美色| 四虎久久精品国产| 国产成人啪精品| 精品国产一区二区三区精东影业| 日韩在线观看视频黄| 国产高清视频免费| 成人在激情在线视频| 成人在免费观看视频国产| 99久久精品国产免费| 一本高清在线| 国产视频久久久久| 久草免费资源| 日日夜夜婷婷| 欧美激情一区二区三区在线| 成人a大片高清在线观看| 日韩av成人| 久久国产一久久高清| 韩国三级视频在线观看| 九九精品影院| 国产视频一区二区在线观看| 亚洲女人国产香蕉久久精品 | 久久精品成人一区二区三区| 国产一区二区精品| 成人免费高清视频| 麻豆系列 在线视频| 亚洲wwwwww| 久久成人亚洲| 成人影院一区二区三区| 99久久精品费精品国产一区二区| 日韩中文字幕在线亚洲一区| 精品在线观看一区| 麻豆网站在线看| 成人在免费观看视频国产| 国产精品自拍一区|