国产性猛交xx乱_性色国产成人久久久精品_亚洲成年人av_亚洲av片不卡无码久久_日本精品一二三_久久免费精品国产_欧美成人精品一区二区综合免费_无码人妻丰满熟妇区毛片蜜桃精品_四虎永久免费影院_国产一区二区三区四区在线

使用 VSCode 開(kāi)發(fā) Gatsby 項(xiàng)目配置

2020-6-3    seo達(dá)人

初始化

使用 https://github.com/XYShaoKang... 作為基礎(chǔ)模板

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

Prettier 配置

安裝 VSCode 擴(kuò)展

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


ext install esbenp.prettier-vscode

安裝依賴(lài)

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 擴(kuò)展

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


ext install dbaeumer.vscode-eslint

安裝 ESLint 依賴(lài)

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

ESLint 配置文件.eslintrc.js

使用官方倉(cāng)庫(kù)的配置,之后在根據(jù)需要修改


// 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 規(guī)則沖突

推薦配置


安裝依賴(lài)


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

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


module.exports = {

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

}

VSCode 中 Prettier 和 ESLint 協(xié)作

方式一:使用 ESLint 擴(kuò)展來(lái)格式化代碼

配置.vscode/settings.json


// .vscode/settings.json

{

 "eslint.format.enable": true,

 "[javascript]": {

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

 },

 "[javascriptreact]": {

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

 }

}

ESLint 擴(kuò)展會(huì)默認(rèn)忽略.開(kāi)頭的文件,比如.eslintrc.js

如果需要格式化.開(kāi)頭的文件,可以在.eslintignore中添加一個(gè)否定忽略來(lái)啟用對(duì)應(yīng)文件的格式化功能.


!.eslintrc.js

或者直接使用!.*,這樣可以開(kāi)啟所有點(diǎn)文件的格式化功能


方式二:使用 Prettier 擴(kuò)展來(lái)格式化代碼

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


配置 VSCode 使用 Prettier 來(lái)格式化 js 和 jsx 文件

在項(xiàng)目中新建文件.vscode/settings.json


// .vscode/settings.json

{

 "[javascript]": {

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

 },

 "[javascriptreact]": {

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

 },

 "editor.codeActionsOnSave": {

   "source.fixAll.eslint": true

 }

}

說(shuō)實(shí)話這個(gè)體驗(yàn)很糟糕,之前直接一鍵格式化代碼并且修復(fù) ESLint 錯(cuò)誤,可以對(duì)比格式化之前和格式化之后的代碼,如果感覺(jué)不對(duì)可以直接撤銷(xiāo)更改就好了.現(xiàn)在必須要通過(guò)保存,才能觸發(fā)修復(fù) ESlint 錯(cuò)誤.而在開(kāi)發(fā)過(guò)程中,通過(guò)監(jiān)聽(tīng)文件改變來(lái)觸發(fā)熱加載或者重新編譯是很常見(jiàn)的操作.這樣之后每次想要去修復(fù) ESLint 錯(cuò)誤,還是只是想看看修復(fù)錯(cuò)誤之后的樣子,都必須要去觸發(fā)熱加載或重新編譯,每次操作的成本就太高了.

我更推薦第一種方式使用 ESLint 擴(kuò)展來(lái)對(duì)代碼進(jìn)行格式化.


調(diào)試 Gatsby 配置

調(diào)試構(gòu)建過(guò)程

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


// .vscode/launch.json

{

 // 使用 IntelliSense 了解相關(guān)屬性。

 // 懸停以查看現(xiàn)有屬性的描述。

 // 欲了解更多信息,請(qǐng)?jiān)L問(wèn): 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.*版本中調(diào)試不能進(jìn)到斷點(diǎn),解決辦法是降級(jí)到2.21.*,yarn add gatsby@2.21.40,等待官方修復(fù)再使用版本的

調(diào)試客戶(hù)端

需要安裝 Debugger for Chrome 擴(kuò)展


ext install msjsdiag.debugger-for-chrome

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


// .vscode/launch.json

{

 // 使用 IntelliSense 了解相關(guān)屬性。

 // 懸停以查看現(xiàn)有屬性的描述。

 // 欲了解更多信息,請(qǐng)?jiān)L問(wèn): 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}"

   }

 ]

}

先啟動(dòng) Gatsby,yarn develop,然后按 F5 開(kāi)始調(diào)試.

日歷

鏈接

個(gè)人資料

存檔

国产性猛交xx乱_性色国产成人久久久精品_亚洲成年人av_亚洲av片不卡无码久久_日本精品一二三_久久免费精品国产_欧美成人精品一区二区综合免费_无码人妻丰满熟妇区毛片蜜桃精品_四虎永久免费影院_国产一区二区三区四区在线
99在线热播精品免费| 在线观看精品一区| 久久综合色婷婷| 蜜桃精品视频在线| 人妻丰满熟妇av无码久久洗澡| 欧美精品在线视频| 午夜久久久久久久久久一区二区| av电影在线播放| 5858s免费视频成人| 亚洲gay无套男同| 亚洲av成人精品一区二区三区| 欧美日韩一区二区在线观看视频| 一区二区三区四区不卡视频| 91免费在线看| 欧美日韩国产天堂| 五月综合激情婷婷六月色窝| 超碰97在线资源站| 日韩精品一区国产麻豆| 麻豆久久一区二区| 你懂得视频在线观看| 日本一区二区高清| 成a人片亚洲日本久久| 91久久人澡人人添人人爽欧美| 亚洲精品欧美激情| 东京热av一区| 亚洲精品一区二区三区蜜桃下载| 韩国三级在线一区| 国产又粗又硬又长又爽| 成人免费在线播放视频| 中文字幕av一区二区三区人妻少妇| 欧美亚洲高清一区| 无码av免费一区二区三区试看| 亚洲观看黄色网| 亚洲精品一区二区三区精华液| 国产乱码字幕精品高清av| 裸体武打性艳史| 亚洲综合激情另类小说区| 成人在线电影网站| 久久久综合视频| 成人国产精品免费| 欧美挠脚心视频网站| 麻豆精品视频在线| 69xx绿帽三人行| 午夜欧美2019年伦理| 亚洲а∨天堂久久精品2021| 中文字幕乱码久久午夜不卡 | 亚洲高清免费一级二级三级| a视频免费观看| 国产三级三级三级精品8ⅰ区| 成年人网站91| 欧美大片一区二区| 成人免费看的视频| 91精品国产综合久久久久| 国内外成人在线| 在线免费观看视频一区| 美女一区二区三区| 国产探花在线播放| 日韩电影在线观看一区| 永久久久久久久| 视频一区二区国产| 欧美爱爱免费视频| 日韩成人免费电影| 99精品久久久久| 另类综合日韩欧美亚洲| 色综合婷婷久久| 麻豆一区二区99久久久久| 日本久久电影网| 久久精品国产精品青草| 91久久线看在观草草青青| 精品在线一区二区| 欧美色老头old∨ideo| 国产在线精品一区在线观看麻豆| 欧美性生活大片视频| 韩国毛片一区二区三区| 欧美自拍丝袜亚洲| 国产精品一二三四| 欧美一区二区播放| www.99精品| 国产视频一区二区三区在线观看| aaaaa黄色片| 国产精品午夜久久| 91丝袜在线观看| 亚洲柠檬福利资源导航| 男人的天堂官网| 日韩av在线免费观看不卡| 欧美亚洲国产一区二区三区| 国产99久久久国产精品| 日韩精品一区二区三区蜜臀| 无人码人妻一区二区三区免费| 久久精品视频在线看| 中国极品少妇videossexhd| 亚洲另类色综合网站| 性少妇xx生活| 美女视频黄 久久| 欧美精品在线观看播放| proumb性欧美在线观看| 国产蜜臀av在线一区二区三区| 在线免费观看成年人视频| 一区二区国产视频| 538精品在线观看| 国产成人精品免费看| 久久综合九色综合97婷婷 | 一区二区三区中文在线| 免费成年人视频在线观看| 精品一区二区三区免费毛片爱| 欧美一级精品大片| 中国免费黄色片| 亚洲综合清纯丝袜自拍| 色网综合在线观看| 国产超碰在线一区| 国产喷白浆一区二区三区| 国产人妻大战黑人20p| 日韩av电影天堂| 91精品国产欧美日韩| 中文字幕18页| 亚洲高清久久久| 欧美伦理影视网| 男人的天堂免费| 亚洲一区二区三区美女| 91国产丝袜在线播放| 不卡一二三区首页| 成人免费小视频| 色成人在线视频| 99久久精品国产观看| 中文字幕在线一区| 国产探花在线播放| 91在线国内视频| 依依成人精品视频| 欧美日韩视频在线观看一区二区三区| 91丨porny丨在线| 亚洲国产人成综合网站| 欧美蜜桃一区二区三区| 理论片大全免费理伦片| 国产大屁股喷水视频在线观看| 精品一区免费av| 欧美极品aⅴ影院| jizz亚洲少妇| 91在线看国产| 亚洲一区二区欧美日韩| 538在线一区二区精品国产| 7788色淫网站小说| 美女视频一区在线观看| 久久久国际精品| 欧美大片xxxx| 91小视频免费看| 亚洲电影激情视频网站| 91精品国产全国免费观看| 亚洲狠狠婷婷综合久久久久图片| 麻豆视频一区二区| 欧美国产激情一区二区三区蜜月| 色综合天天综合在线视频| 日本中文字幕有码| 蜜臀久久99精品久久久久久9| 久久亚洲精华国产精华液| 91精品国产闺蜜国产在线闺蜜| 97成人超碰视| 五月天网站亚洲| 国产喂奶挤奶一区二区三区 | 久久www免费人成看片高清| 国产肉丝袜一区二区| 日本精品免费观看高清观看| 免费观看污网站| 久久99久久99精品免视看婷婷| 国产蜜臀av在线一区二区三区| 91传媒视频在线播放| 800av在线播放| 国产精品综合一区二区| 亚洲男人的天堂av| 日韩一级片在线观看| 亚洲欧美精品久久| 日韩精品――色哟哟| 黄色资源网久久资源365| 亚洲欧洲日韩av| 欧美一区二区三区色| 91视频最新网址| 国产成人精品综合久久久久99 | 国产女人aaa级久久久级| 欧美天堂亚洲电影院在线播放| 日本一区二区三区网站| 国产成人99久久亚洲综合精品| 亚洲成人综合视频| 久久久99精品久久| 欧美日韩在线三级| 欧美自拍偷拍网| 国产免费一区二区三区最新6| 国产精品白丝av| 亚洲风情在线资源站| 久久久国产精品不卡| 欧美日韩一区二区三区视频| 永久免费av无码网站性色av| 亚洲精品乱码久久久久久9色| 久色婷婷小香蕉久久| 一区二区三区毛片| 久久久精品2019中文字幕之3| 欧美日韩久久久一区| 欧美肥妇bbwbbw| 好吊视频在线观看| 成人欧美精品一区二区| 成人一级视频在线观看| 麻豆精品在线观看|