cainiaoblog 23.2.171

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/CNAME +1 -0
  2. package/MP_verify_o6dHCK5mIkxNpzvZ.txt +1 -0
  3. package/README.md +8 -0
  4. package/about/index.html +54 -0
  5. package/ads.txt +1 -0
  6. package/app/manual.html +104 -0
  7. package/appConfigs/config +1 -0
  8. package/archives/2018/index.html +48 -0
  9. package/archives/2019/index.html +48 -0
  10. package/archives/2019/page/2/index.html +48 -0
  11. package/archives/2020/index.html +48 -0
  12. package/archives/2021/index.html +48 -0
  13. package/archives/2022/index.html +48 -0
  14. package/archives/2023/index.html +48 -0
  15. package/archives/index.html +48 -0
  16. package/archives/page/2/index.html +48 -0
  17. package/archives/page/3/index.html +48 -0
  18. package/article/10047.html +148 -0
  19. package/article/10164.html +64 -0
  20. package/article/10624.html +436 -0
  21. package/article/10745.html +586 -0
  22. package/article/11674.html +71 -0
  23. package/article/11939.html +72 -0
  24. package/article/12238.html +86 -0
  25. package/article/1230.html +533 -0
  26. package/article/13265.html +69 -0
  27. package/article/13823.html +78 -0
  28. package/article/14125.html +72 -0
  29. package/article/14192.html +561 -0
  30. package/article/14375.html +85 -0
  31. package/article/14744.html +83 -0
  32. package/article/14936.html +451 -0
  33. package/article/1518.html +250 -0
  34. package/article/15428.html +71 -0
  35. package/article/15518.html +288 -0
  36. package/article/15569.html +418 -0
  37. package/article/1566.html +122 -0
  38. package/article/16017.html +156 -0
  39. package/article/16947.html +440 -0
  40. package/article/17096.html +82 -0
  41. package/article/17246.html +89 -0
  42. package/article/17575.html +350 -0
  43. package/article/179.html +757 -0
  44. package/article/18039.html +233 -0
  45. package/article/18071.html +375 -0
  46. package/article/18142.html +71 -0
  47. package/article/19909.html +160 -0
  48. package/article/20014.html +89 -0
  49. package/article/20021.html +389 -0
  50. package/article/20037.html +280 -0
  51. package/article/20056.html +95 -0
  52. package/article/20093.html +404 -0
  53. package/article/2021.html +607 -0
  54. package/article/20459.html +115 -0
  55. package/article/20613.html +263 -0
  56. package/article/20635.html +71 -0
  57. package/article/21317.html +71 -0
  58. package/article/21320.html +90 -0
  59. package/article/21782.html +548 -0
  60. package/article/22230.html +435 -0
  61. package/article/22237.html +347 -0
  62. package/article/22398.html +109 -0
  63. package/article/22422.html +270 -0
  64. package/article/22565.html +300 -0
  65. package/article/23046.html +250 -0
  66. package/article/23083.html +215 -0
  67. package/article/23195.html +297 -0
  68. package/article/23301.html +835 -0
  69. package/article/23589.html +285 -0
  70. package/article/23655.html +338 -0
  71. package/article/23864.html +76 -0
  72. package/article/23914.html +96 -0
  73. package/article/24169.html +135 -0
  74. package/article/24581.html +349 -0
  75. package/article/2475.html +500 -0
  76. package/article/24826.html +77 -0
  77. package/article/24924.html +247 -0
  78. package/article/25164.html +1495 -0
  79. package/article/25318.html +394 -0
  80. package/article/25710.html +1129 -0
  81. package/article/25734.html +83 -0
  82. package/article/26083.html +174 -0
  83. package/article/26147.html +283 -0
  84. package/article/26291.html +110 -0
  85. package/article/26354.html +71 -0
  86. package/article/26624.html +145 -0
  87. package/article/26639.html +298 -0
  88. package/article/26850.html +138 -0
  89. package/article/26940.html +258 -0
  90. package/article/27796.html +190 -0
  91. package/article/27800.html +161 -0
  92. package/article/28963.html +159 -0
  93. package/article/28976.html +247 -0
  94. package/article/29042.html +72 -0
  95. package/article/29596.html +81 -0
  96. package/article/29619.html +183 -0
  97. package/article/29623.html +329 -0
  98. package/article/29829.html +205 -0
  99. package/article/29abbd1c.html +112 -0
  100. package/article/30215.html +178 -0
  101. package/article/30552.html +78 -0
  102. package/article/30818.html +201 -0
  103. package/article/31330.html +364 -0
  104. package/article/3154.html +577 -0
  105. package/article/31695.html +348 -0
  106. package/article/31826.html +71 -0
  107. package/article/31843.html +132 -0
  108. package/article/32280.html +212 -0
  109. package/article/32431.html +74 -0
  110. package/article/32443.html +72 -0
  111. package/article/32732.html +122 -0
  112. package/article/3286.html +251 -0
  113. package/article/32960.html +198 -0
  114. package/article/33713.html +72 -0
  115. package/article/33899.html +615 -0
  116. package/article/34351.html +74 -0
  117. package/article/34372.html +89 -0
  118. package/article/34410.html +74 -0
  119. package/article/34431.html +118 -0
  120. package/article/3447.html +75 -0
  121. package/article/34474.html +142 -0
  122. package/article/34871.html +147 -0
  123. package/article/35397.html +175 -0
  124. package/article/3544.html +199 -0
  125. package/article/35503.html +115 -0
  126. package/article/35624.html +84 -0
  127. package/article/35697.html +384 -0
  128. package/article/35863.html +73 -0
  129. package/article/36037.html +253 -0
  130. package/article/36118.html +71 -0
  131. package/article/3621.html +119 -0
  132. package/article/36251.html +296 -0
  133. package/article/36642.html +352 -0
  134. package/article/37102.html +763 -0
  135. package/article/37336.html +351 -0
  136. package/article/37351.html +89 -0
  137. package/article/3760.html +294 -0
  138. package/article/37749.html +75 -0
  139. package/article/37789.html +83 -0
  140. package/article/38005.html +765 -0
  141. package/article/38009.html +284 -0
  142. package/article/38269.html +194 -0
  143. package/article/38344.html +88 -0
  144. package/article/38359.html +334 -0
  145. package/article/38423.html +379 -0
  146. package/article/38530.html +213 -0
  147. package/article/38743.html +268 -0
  148. package/article/38753.html +204 -0
  149. package/article/38881.html +71 -0
  150. package/article/39087.html +414 -0
  151. package/article/39309.html +84 -0
  152. package/article/39486.html +74 -0
  153. package/article/39637.html +306 -0
  154. package/article/39839.html +72 -0
  155. package/article/39937.html +152 -0
  156. package/article/39970.html +71 -0
  157. package/article/402.html +559 -0
  158. package/article/40698.html +71 -0
  159. package/article/40811.html +71 -0
  160. package/article/40964.html +462 -0
  161. package/article/41011.html +322 -0
  162. package/article/41152.html +78 -0
  163. package/article/41696.html +71 -0
  164. package/article/41717.html +281 -0
  165. package/article/41777.html +149 -0
  166. package/article/419.html +985 -0
  167. package/article/4233.html +136 -0
  168. package/article/4292.html +86 -0
  169. package/article/43302.html +96 -0
  170. package/article/43397.html +106 -0
  171. package/article/43724.html +281 -0
  172. package/article/43999.html +224 -0
  173. package/article/44426.html +77 -0
  174. package/article/44964.html +137 -0
  175. package/article/45004.html +123 -0
  176. package/article/4510.html +83 -0
  177. package/article/45156.html +320 -0
  178. package/article/45157.html +52 -0
  179. package/article/45267.html +87 -0
  180. package/article/45641.html +207 -0
  181. package/article/45960.html +75 -0
  182. package/article/46100.html +1262 -0
  183. package/article/46366.html +74 -0
  184. package/article/46771.html +96 -0
  185. package/article/46911.html +517 -0
  186. package/article/46948.html +137 -0
  187. package/article/46ee4850.html +349 -0
  188. package/article/47019.html +84 -0
  189. package/article/47532.html +94 -0
  190. package/article/4783.html +429 -0
  191. package/article/47972.html +72 -0
  192. package/article/48216.html +127 -0
  193. package/article/48252.html +185 -0
  194. package/article/48520.html +74 -0
  195. package/article/48722.html +75 -0
  196. package/article/48807.html +99 -0
  197. package/article/49126.html +323 -0
  198. package/article/50001.html +88 -0
  199. package/article/50058.html +151 -0
  200. package/article/50343.html +410 -0
  201. package/article/50510.html +82 -0
  202. package/article/51082.html +98 -0
  203. package/article/51677.html +111 -0
  204. package/article/5204.html +1085 -0
  205. package/article/52500.html +538 -0
  206. package/article/52689.html +259 -0
  207. package/article/52877.html +569 -0
  208. package/article/53125.html +191 -0
  209. package/article/53428.html +251 -0
  210. package/article/53524.html +74 -0
  211. package/article/53698.html +322 -0
  212. package/article/53803e6.html +93 -0
  213. package/article/53924.html +291 -0
  214. package/article/53962.html +253 -0
  215. package/article/54006.html +71 -0
  216. package/article/54018.html +88 -0
  217. package/article/54161.html +83 -0
  218. package/article/54178.html +69 -0
  219. package/article/54258.html +327 -0
  220. package/article/54295.html +214 -0
  221. package/article/54313.html +1976 -0
  222. package/article/54351.html +90 -0
  223. package/article/54604.html +80 -0
  224. package/article/54632.html +71 -0
  225. package/article/54912.html +756 -0
  226. package/article/54918.html +129 -0
  227. package/article/55119.html +136 -0
  228. package/article/55756.html +118 -0
  229. package/article/55769.html +136 -0
  230. package/article/55870.html +161 -0
  231. package/article/56139.html +92 -0
  232. package/article/56557.html +69 -0
  233. package/article/56604.html +69 -0
  234. package/article/56816.html +266 -0
  235. package/article/56926.html +153 -0
  236. package/article/57747.html +409 -0
  237. package/article/57965.html +475 -0
  238. package/article/58816.html +78 -0
  239. package/article/59059.html +435 -0
  240. package/article/59095.html +350 -0
  241. package/article/59349.html +244 -0
  242. package/article/59402.html +216 -0
  243. package/article/59448.html +55 -0
  244. package/article/59870.html +94 -0
  245. package/article/59877.html +208 -0
  246. package/article/5dbb6f41.html +86 -0
  247. package/article/6008.html +75 -0
  248. package/article/60327.html +126 -0
  249. package/article/6035.html +76 -0
  250. package/article/60428.html +71 -0
  251. package/article/60544.html +128 -0
  252. package/article/61319.html +95 -0
  253. package/article/61367.html +93 -0
  254. package/article/624d1918.html +292 -0
  255. package/article/62543.html +71 -0
  256. package/article/62887.html +169 -0
  257. package/article/63074.html +120 -0
  258. package/article/63266.html +311 -0
  259. package/article/63351.html +74 -0
  260. package/article/63542.html +104 -0
  261. package/article/63824.html +275 -0
  262. package/article/64051.html +653 -0
  263. package/article/64189b69.html +72 -0
  264. package/article/64354.html +75 -0
  265. package/article/64869.html +79 -0
  266. package/article/64923.html +596 -0
  267. package/article/65128.html +95 -0
  268. package/article/65295.html +79 -0
  269. package/article/6888.html +75 -0
  270. package/article/7065.html +84 -0
  271. package/article/7455.html +85 -0
  272. package/article/7a3ef8f.html +315 -0
  273. package/article/8140.html +188 -0
  274. package/article/8190.html +85 -0
  275. package/article/8225.html +78 -0
  276. package/article/84c9ccd6.html +159 -0
  277. package/article/8f9a9ae3.html +82 -0
  278. package/article/9174.html +73 -0
  279. package/article/9738.html +294 -0
  280. package/article/a4145266.html +71 -0
  281. package/article/bedea419.html +72 -0
  282. package/article/bf7e7421.html +78 -0
  283. package/article/c1867fbf.html +103 -0
  284. package/article/c5576490.html +70 -0
  285. package/article/dcb0db28.html +76 -0
  286. package/article/fc3b727a.html +79 -0
  287. package/atom.xml +445 -0
  288. package/baidusitemap.xml +1079 -0
  289. package/blocks/dns.txt +264 -0
  290. package/blocks/filter.txt +1070 -0
  291. package/blocks/script.js +42 -0
  292. package/categories/CDN/index.html +48 -0
  293. package/categories/IDE/index.html +48 -0
  294. package/categories/git/index.html +48 -0
  295. package/categories/hexo/index.html +48 -0
  296. package/categories//345/205/254/345/205/261/350/212/202/346/227/245/index.html +48 -0
  297. package/categories//345/210/206/344/272/253/index.html +48 -0
  298. package/categories//345/211/215/347/253/257/index.html +48 -0
  299. package/categories//345/211/215/347/253/257/page/2/index.html +48 -0
  300. package/categories//345/211/215/347/253/257//346/265/217/350/247/210/345/231/250/index.html +48 -0
  301. package/categories//345/211/215/347/253/257//346/265/217/350/247/210/345/231/250//347/275/221/347/273/234/345/215/217/350/256/256/index.html +48 -0
  302. package/categories//345/215/232/345/256/242/index.html +48 -0
  303. package/categories//345/267/245/345/205/267/index.html +48 -0
  304. package/categories//345/271/277/345/221/212/350/277/207/346/273/244/index.html +48 -0
  305. package/categories//345/271/277/345/221/212/350/277/207/346/273/244//350/247/206/351/242/221/347/224/265/350/247/206/345/260/217/350/257/264/346/274/253/347/224/273/350/265/204/350/256/257/351/237/263/344/271/220/index.html +48 -0
  306. package/categories//346/255/243/345/210/231/index.html +48 -0
  307. package/categories//346/265/217/350/247/210/345/231/250/index.html +48 -0
  308. package/categories//347/256/227/346/263/225/index.html +48 -0
  309. package/categories//350/265/204/350/256/257/index.html +48 -0
  310. package/categories//350/275/273/346/235/276/344/270/200/345/210/273/index.html +48 -0
  311. package/cdn/css/font-awesome.min.css +4 -0
  312. package/cdn/css/grids-responsive-min.css +7 -0
  313. package/cdn/css/normalize.css +349 -0
  314. package/cdn/css/pure-min.css +11 -0
  315. package/cdn/fonts/fontawesome-webfont.eot +0 -0
  316. package/cdn/fonts/fontawesome-webfont.svg +2671 -0
  317. package/cdn/fonts/fontawesome-webfont.ttf +0 -0
  318. package/cdn/fonts/fontawesome-webfont.woff +0 -0
  319. package/cdn/fonts/fontawesome-webfont.woff2 +0 -0
  320. package/cdn/js/Valine.min.js +17 -0
  321. package/cdn/js/canvas-nest.js +1 -0
  322. package/cdn/js/clipboard.min.js +7 -0
  323. package/cdn/js/crypto-js.js +25 -0
  324. package/cdn/js/jquery.min.js +2 -0
  325. package/css/default.css +1144 -0
  326. package/css/donate.css +338 -0
  327. package/css/hbe.style.css +749 -0
  328. package/css/style.css +2095 -0
  329. package/donate/index.html +39 -0
  330. package/google917dcf72f6e5c7f5.html +1 -0
  331. package/guestbook/index.html +68 -0
  332. package/hosts/ads.txt +149 -0
  333. package/hosts/flash.txt +9 -0
  334. package/hosts/github.txt +6 -0
  335. package/hosts/google.txt +16936 -0
  336. package/hosts/winrar.txt +2 -0
  337. package/img/alipay.svg +46 -0
  338. package/img/bitcoin.svg +135 -0
  339. package/img/blog.ico +0 -0
  340. package/img/blog.png +0 -0
  341. package/img/gaba.png +0 -0
  342. package/img/github.svg +1 -0
  343. package/img/like.svg +1 -0
  344. package/img/mp-mini.jpg +0 -0
  345. package/img/mp.png +0 -0
  346. package/img/paypal.svg +63 -0
  347. package/img/upy_logo.svg +59 -0
  348. package/img/wechat.svg +49 -0
  349. package/index.html +48 -0
  350. package/jd_root.txt +1 -0
  351. package/js/codeblock-resizer.js +51 -0
  352. package/js/dark.js +12 -0
  353. package/js/donate.js +87 -0
  354. package/js/fixedPage.js +106 -0
  355. package/js/gitment.browser.js +3751 -0
  356. package/js/search.js +86 -0
  357. package/js/share.js +60 -0
  358. package/js/smartresize.js +32 -0
  359. package/js/totop.js +12 -0
  360. package/kankan/index.html +77 -0
  361. package/lib/hbe.js +293 -0
  362. package/package.json +25 -0
  363. package/page/10/index.html +49 -0
  364. package/page/11/index.html +59 -0
  365. package/page/12/index.html +67 -0
  366. package/page/13/index.html +63 -0
  367. package/page/14/index.html +66 -0
  368. package/page/15/index.html +60 -0
  369. package/page/16/index.html +60 -0
  370. package/page/17/index.html +62 -0
  371. package/page/18/index.html +61 -0
  372. package/page/19/index.html +58 -0
  373. package/page/2/index.html +48 -0
  374. package/page/20/index.html +57 -0
  375. package/page/21/index.html +61 -0
  376. package/page/22/index.html +55 -0
  377. package/page/23/index.html +64 -0
  378. package/page/24/index.html +60 -0
  379. package/page/25/index.html +58 -0
  380. package/page/26/index.html +48 -0
  381. package/page/27/index.html +58 -0
  382. package/page/3/index.html +48 -0
  383. package/page/4/index.html +48 -0
  384. package/page/5/index.html +51 -0
  385. package/page/6/index.html +51 -0
  386. package/page/7/index.html +51 -0
  387. package/page/8/index.html +53 -0
  388. package/page/9/index.html +48 -0
  389. package/randomcall/README.html +1 -0
  390. package/randomcall/lucker.html +290 -0
  391. package/randomcall/lucky.png +0 -0
  392. package/robots.txt +22 -0
  393. package/search.xml +6740 -0
  394. package/sitemap.xml +2669 -0
  395. package/tags//345/216/237/345/210/233/index.html +48 -0
  396. package/tags//345/250/261/344/271/220/index.html +48 -0
  397. package/tags//346/211/213/345/206/231/index.html +48 -0
  398. package/tags//347/226/253/346/203/205/index.html +48 -0
  399. package/tags//350/275/254/350/275/275/index.html +48 -0
  400. package/tags//350/275/254/350/275/275/page/2/index.html +48 -0
  401. package/v.html +90 -0
@@ -0,0 +1,191 @@
1
+ <!DOCTYPE html><html lang="zh-CN" data-dark><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta name="description" content="前端壹菜鸟,记录工作难题,关注前端知识,收集精彩博文,做技术的搬运工"><meta name="msvalidate.01" content="0FE4D8B3381D3D87088996B886E1E2BD"><title>正则大全 | 前端壹菜鸟</title><link rel="stylesheet" type="text/css" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/css/style.min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/normalize.css@latest/normalize.min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/purecss@latest/build/pure-min.min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/purecss@latest/build/grids-responsive-min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css"><link rel="icon" mask="" sizes="any" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.ico"><link rel="Shortcut Icon" type="image/x-icon" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.ico"><link rel="apple-touch-icon" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.png"><link rel="apple-touch-icon-precomposed" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.png"><link rel="alternate" type="application/atom+xml" href="/atom.xml"><script type="text/javascript" src="//cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js"></script><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8385136408348258"></script><script src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" async></script><script>(function(){
2
+ var bp = document.createElement('script');
3
+ var curProtocol = window.location.protocol.split(':')[0];
4
+ if (curProtocol === 'https'){
5
+ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
6
+ }
7
+ else{
8
+ bp.src = 'http://push.zhanzhang.baidu.com/push.js';
9
+ }
10
+ var s = document.getElementsByTagName("script")[0];
11
+ s.parentNode.insertBefore(bp, s);
12
+ })();
13
+ </script><script>(function(){
14
+ var src = 'https://jspassport.ssl.qhimg.com/11.0.1.js?d182b3f28525f2db83acfaaf6e696dba';
15
+ document.write('<script src="' + src + '" id="sozz"><\/script>');
16
+ })();
17
+ </script><script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src='https://hm.baidu.com/hm.js?011f0b44e8452bfa57fbfa23c5fe7683';var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();
18
+ </script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-150860401-1"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);};gtag('js',new Date());gtag('config','UA-150860401-1');
19
+ </script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/fixedPage.min.js"></script><meta name="generator" content="Hexo 6.3.0"></head><body><div class="body_container"><div id="header"><div class="site-name"><a id="logo" href="/.">前端壹菜鸟</a><p class="description">关注前端知识,收集精彩博文,做技术的搬运工</p></div><div id="nav-menu"><a class="current" href="/." target="_self"><i class="fa fa-home"> 首页</i></a><a href="/archives/" target="_self"><i class="fa fa-archive"> 归档</i></a><a href="/guestbook/" target="_self"><i class="fa fa-comments"> 留言</i></a><a href="/about/" target="_self"><i class="fa fa-user"> 关于</i></a><a href="https://laonongmin.online/" target="_target"><i class="fa fa-group"> 看看</i></a><a href="https://love.xuehuayu.cn/" target="_target"><i class="fa fa-heart"> LOVE</i></a></div></div><div class="pure-g" id="layout"><div class="pure-u-1 pure-u-md-3-4"><div class="content_container"><div class="post"><h1 class="post-title c-post">正则大全</h1><div class="post-meta"><span class="date">2019-12-11</span><span> | </span><span class="tag"><a href="/tags/%E8%BD%AC%E8%BD%BD/">转载 </a></span><span> | </span><span class="category"><a href="/categories/%E6%AD%A3%E5%88%99/">正则 </a></span><span id="busuanzi_container_page_pv"> | <span id="busuanzi_value_page_pv"><i class="fa fa-spinner"></i></span><span> 阅读</span></span><span class="post-time"><span class="post-meta-item-text"> | </span><span class="post-meta-item-icon"><i class="fa fa-keyboard-o"></i><span class="post-count"> 1.4k</span><span class="post-meta-item-text"> 字</span></span></span><span class="post-time"> | <span class="post-meta-item-icon"><i class="fa fa-hourglass-half"></i><span class="post-count"> 8</span><span class="post-meta-item-text"> 分钟</span></span></span></div><a class="disqus-comment-count" href="/article/53125.html#vcomment"><span class="waline-comment-count" data-path="/article/53125.html"></span><span> 条评论</span></a><div class="post-content"><p><code>原文地址:https://github.com/any86/any-rule</code></p>
20
+ <span id="more"></span>
21
+
22
+ <h2 id=""><a href="#" class="headerlink" title=""></a></h2><h3 id="-1"><a href="#-1" class="headerlink" title=""></a></h3><pre><code>/^[GCDZTSPKXLY1-9]\d&#123;1,4&#125;$/
23
+ </code></pre>
24
+ <h3 id="-2"><a href="#-2" class="headerlink" title=""></a></h3><pre><code>/^\d&#123;15,17&#125;$/
25
+ </code></pre>
26
+ <h3 id="-3"><a href="#-3" class="headerlink" title=""></a></h3><pre><code>/^((ht|f)tps?:\/\/)?[\w-]+(\.[\w-]+)+:\d&#123;1,5&#125;\/?$/
27
+ </code></pre>
28
+ <h3 id="-4"><a href="#-4" class="headerlink" title=""></a></h3><pre><code>/^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?$/
29
+ </code></pre>
30
+ <h3 id="-5"><a href="#-5" class="headerlink" title=""></a></h3><pre><code>/^[0-9A-HJ-NPQRTUWXY]&#123;2&#125;\d&#123;6&#125;[0-9A-HJ-NPQRTUWXY]&#123;10&#125;$/
31
+ </code></pre>
32
+ <h3 id="-6"><a href="#-6" class="headerlink" title=""></a></h3><pre><code>/^thunderx?:\/\/[a-zA-Z\d]+=$/
33
+ </code></pre>
34
+ <h3 id="-7"><a href="#-7" class="headerlink" title=""></a></h3><pre><code>/^ed2k:\/\/\|file\|.+\|\/$/
35
+ </code></pre>
36
+ <h3 id="-8"><a href="#-8" class="headerlink" title=""></a></h3><pre><code>/^magnet:\?xt=urn:btih:[0-9a-fA-F]&#123;40,&#125;.*$/
37
+ </code></pre>
38
+ <h3 id="-9"><a href="#-9" class="headerlink" title=""></a></h3><pre><code>/^(?:\d&#123;1,2&#125;|1\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d&#123;1,2&#125;|1\d\d|2[0-4]\d|25[0-5]))&#123;3&#125;$/
39
+ </code></pre>
40
+ <h3 id="-10"><a href="#-10" class="headerlink" title=""></a></h3><pre><code>/^\/(\w+\/?)+$/
41
+ </code></pre>
42
+ <h3 id="-11"><a href="#-11" class="headerlink" title=""></a></h3><pre><code>/^\/(\w+\/)+\w+\.\w+$/
43
+ </code></pre>
44
+ <h3 id="-12"><a href="#-12" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z]:\\(?:\w+\\?)*$/
45
+ </code></pre>
46
+ <h3 id="-13"><a href="#-13" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z]:\\(?:\w+\\)*\w+\.\w+$/
47
+ </code></pre>
48
+ <h3 id="-14"><a href="#-14" class="headerlink" title=""></a></h3><pre><code>/^(s[hz]|S[HZ])(000[\d]&#123;3&#125;|002[\d]&#123;3&#125;|300[\d]&#123;3&#125;|600[\d]&#123;3&#125;|60[\d]&#123;4&#125;)$/
49
+ </code></pre>
50
+ <h3 id="-15"><a href="#-15" class="headerlink" title=""></a></h3><pre><code>/^150$|^(?:\d|[1-9]\d|1[0-4]\d)(?:.5)?$/
51
+ </code></pre>
52
+ <h3 id="-16"><a href="#-16" class="headerlink" title=""></a></h3><pre><code>/&lt;!--[\s\S]*?--&gt;/
53
+ </code></pre>
54
+ <h3 id="-17"><a href="#-17" class="headerlink" title=""></a></h3><pre><code>/^([a-f\d]&#123;32&#125;|[A-F\d]&#123;32&#125;)$/
55
+ </code></pre>
56
+ <h3 id="-18"><a href="#-18" class="headerlink" title=""></a></h3><pre><code>/^\d+(?:\.\d+)&#123;2&#125;$/
57
+ </code></pre>
58
+ <h3 id="-19"><a href="#-19" class="headerlink" title=""></a></h3><pre><code>/^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i
59
+ </code></pre>
60
+ <h3 id="-20"><a href="#-20" class="headerlink" title=""></a></h3><pre><code>/^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i
61
+ </code></pre>
62
+ <h3 id="-21"><a href="#-21" class="headerlink" title=""></a></h3><pre><code>/^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/
63
+ </code></pre>
64
+ <h3 id="-22"><a href="#-22" class="headerlink" title=""></a></h3><pre><code>/^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$/
65
+ </code></pre>
66
+ <h3 id="-23"><a href="#-23" class="headerlink" title=""></a></h3><pre><code>/^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&amp;&#39;,()*+;=\-._~:@\/?%\s]*?)\s*$/i
67
+ </code></pre>
68
+ <h3 id="-24"><a href="#-24" class="headerlink" title=""></a></h3><pre><code>/^-?\d+(,\d&#123;3&#125;)*(\.\d&#123;1,2&#125;)?$/
69
+ </code></pre>
70
+ <h3 id="-25"><a href="#-25" class="headerlink" title=""></a></h3><pre><code>/(?:^[1-9]([0-9]+)?(?:\.[0-9]&#123;1,2&#125;)?$)|(?:^(?:0)&#123;1&#125;$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/
71
+ </code></pre>
72
+ <h3 id=")"><a href="#)" class="headerlink" title=")"></a>)</h3><pre><code>/^[1-9]\d&#123;9,29&#125;$/
73
+ </code></pre>
74
+ <h3 id="-26"><a href="#-26" class="headerlink" title=""></a></h3><pre><code>/^(?:[\u4e00-\u9fa5·]&#123;2,16&#125;)$/
75
+ </code></pre>
76
+ <h3 id="-27"><a href="#-27" class="headerlink" title=""></a></h3><pre><code>/(^[a-zA-Z]&#123;1&#125;[a-zA-Z\s]&#123;0,20&#125;[a-zA-Z]&#123;1&#125;$)/
77
+ </code></pre>
78
+ <h3 id="-28"><a href="#-28" class="headerlink" title=""></a></h3><pre><code>/[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]&#123;1&#125;[A-HJ-NP-Z]&#123;1&#125;(([0-9]&#123;5&#125;[DF])|([DF][A-HJ-NP-Z0-9][0-9]&#123;4&#125;))$/
79
+ </code></pre>
80
+ <h3 id="-29"><a href="#-29" class="headerlink" title=""></a></h3><pre><code>/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]&#123;1&#125;[A-HJ-NP-Z]&#123;1&#125;[A-Z0-9]&#123;4&#125;[A-Z0-9挂学警港澳]&#123;1&#125;$/
81
+ </code></pre>
82
+ <h3 id="-30"><a href="#-30" class="headerlink" title=""></a></h3><pre><code>/^(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]&#123;1&#125;[A-HJ-NP-Z]&#123;1&#125;(?:(?:[0-9]&#123;5&#125;[DF])|(?:[DF](?:[A-HJ-NP-Z0-9])[0-9]&#123;4&#125;)))|(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]&#123;1&#125;[A-Z]&#123;1&#125;[A-HJ-NP-Z0-9]&#123;4&#125;[A-HJ-NP-Z0-9 挂学警港澳]&#123;1&#125;)$/
83
+ </code></pre>
84
+ <h3 id="-31"><a href="#-31" class="headerlink" title=""></a></h3><pre><code>/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-7|9])|(?:5[0-3|5-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1|8|9]))\d&#123;8&#125;$/
85
+ </code></pre>
86
+ <h3 id="-32"><a href="#-32" class="headerlink" title=""></a></h3><pre><code>/^(?:(?:\+|00)86)?1[3-9]\d&#123;9&#125;$/
87
+ </code></pre>
88
+ <h3 id="-33"><a href="#-33" class="headerlink" title=""></a></h3><pre><code>/^(?:(?:\+|00)86)?1\d&#123;10&#125;$/
89
+ </code></pre>
90
+ <h3 id="-34"><a href="#-34" class="headerlink" title=""></a></h3><pre><code>/^\d&#123;4&#125;(-)(1[0-2]|0?\d)\1([0-2]\d|\d|30|31)$/
91
+ </code></pre>
92
+ <h3 id="-35"><a href="#-35" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z0-9.!#$%&amp;&#39;*+\/=?^_`&#123;|&#125;~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]&#123;0,61&#125;[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]&#123;0,61&#125;[a-zA-Z0-9])?)*$/
93
+ </code></pre>
94
+ <h3 id="-36"><a href="#-36" class="headerlink" title=""></a></h3><pre><code>/\d&#123;3&#125;-\d&#123;8&#125;|\d&#123;4&#125;-\d&#123;7&#125;/
95
+ </code></pre>
96
+ <h3 id="-37"><a href="#-37" class="headerlink" title=""></a></h3><pre><code>/^\d&#123;8&#125;(0\d|10|11|12)([0-2]\d|30|31)\d&#123;3&#125;$/
97
+ </code></pre>
98
+ <h3 id="-38"><a href="#-38" class="headerlink" title=""></a></h3><pre><code>/^\d&#123;6&#125;(18|19|20)\d&#123;2&#125;(0\d|10|11|12)([0-2]\d|30|31)\d&#123;3&#125;[\dXx]$/
99
+ </code></pre>
100
+ <h3 id="-39"><a href="#-39" class="headerlink" title=""></a></h3><pre><code>/(^\d&#123;8&#125;(0\d|10|11|12)([0-2]\d|30|31)\d&#123;3&#125;$)|(^\d&#123;6&#125;(18|19|20)\d&#123;2&#125;(0\d|10|11|12)([0-2]\d|30|31)\d&#123;3&#125;(\d|X|x)$)/
101
+ </code></pre>
102
+ <h3 id="-40"><a href="#-40" class="headerlink" title=""></a></h3><pre><code>/(^[EeKkGgDdSsPpHh]\d&#123;8&#125;$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d&#123;7&#125;$)/
103
+ </code></pre>
104
+ <h3 id="-41"><a href="#-41" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z]\w&#123;4,15&#125;$/
105
+ </code></pre>
106
+ <h3 id="-42"><a href="#-42" class="headerlink" title=""></a></h3><pre><code>/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/
107
+ </code></pre>
108
+ <h3 id="-43"><a href="#-43" class="headerlink" title=""></a></h3><pre><code>/^\d+\.\d+$/
109
+ </code></pre>
110
+ <h3 id="-44"><a href="#-44" class="headerlink" title=""></a></h3><pre><code>/^\d&#123;1,&#125;$/
111
+ </code></pre>
112
+ <h3 id="-45"><a href="#-45" class="headerlink" title=""></a></h3><pre><code>/&lt;(\w+)[^&gt;]*&gt;(.*?&lt;\/\1&gt;)?/
113
+ </code></pre>
114
+ <h3 id="是否qq号格式正确"><a href="#是否qq号格式正确" class="headerlink" title="是否qq号格式正确"></a>是否qq号格式正确</h3><pre><code>/^[1-9][0-9]&#123;4,10&#125;$/
115
+ </code></pre>
116
+ <h3 id="-46"><a href="#-46" class="headerlink" title=""></a></h3><pre><code>/^[A-Za-z0-9]+$/
117
+ </code></pre>
118
+ <h3 id="-47"><a href="#-47" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z]+$/
119
+ </code></pre>
120
+ <h3 id="-48"><a href="#-48" class="headerlink" title=""></a></h3><pre><code>/^[a-z]+$/
121
+ </code></pre>
122
+ <h3 id="-49"><a href="#-49" class="headerlink" title=""></a></h3><pre><code>/^[A-Z]+$/
123
+ </code></pre>
124
+ <h3 id="-50"><a href="#-50" class="headerlink" title=""></a></h3><pre><code>/^.*(?=.&#123;6,&#125;)(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&amp;*? ]).*$/
125
+ </code></pre>
126
+ <h3 id="-51"><a href="#-51" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z0-9_-]&#123;4,16&#125;$/
127
+ </code></pre>
128
+ <h3 id="-52"><a href="#-52" class="headerlink" title=""></a></h3><pre><code>/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)&#123;3&#125;(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
129
+ </code></pre>
130
+ <h3 id="-53"><a href="#-53" class="headerlink" title=""></a></h3><pre><code>/^((([0-9A-Fa-f]&#123;1,4&#125;:)&#123;7&#125;[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;6&#125;:[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;5&#125;:([0-9A-Fa-f]&#123;1,4&#125;:)?[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;4&#125;:([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,2&#125;[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;3&#125;:([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,3&#125;[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;2&#125;:([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,4&#125;[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;6&#125;((\b((25[0-5])|(1\d&#123;2&#125;)|(2[0-4]\d)|(\d&#123;1,2&#125;))\b)\.)&#123;3&#125;(\b((25[0-5])|(1\d&#123;2&#125;)|(2[0-4]\d)|(\d&#123;1,2&#125;))\b))|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,5&#125;:((\b((25[0-5])|(1\d&#123;2&#125;)|(2[0-4]\d)|(\d&#123;1,2&#125;))\b)\.)&#123;3&#125;(\b((25[0-5])|(1\d&#123;2&#125;)|(2[0-4]\d)|(\d&#123;1,2&#125;))\b))|(::([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,5&#125;((\b((25[0-5])|(1\d&#123;2&#125;)|(2[0-4]\d)|(\d&#123;1,2&#125;))\b)\.)&#123;3&#125;(\b((25[0-5])|(1\d&#123;2&#125;)|(2[0-4]\d)|(\d&#123;1,2&#125;))\b))|([0-9A-Fa-f]&#123;1,4&#125;::([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,5&#125;[0-9A-Fa-f]&#123;1,4&#125;)|(::([0-9A-Fa-f]&#123;1,4&#125;:)&#123;0,6&#125;[0-9A-Fa-f]&#123;1,4&#125;)|(([0-9A-Fa-f]&#123;1,4&#125;:)&#123;1,7&#125;:))$/i
131
+ </code></pre>
132
+ <h3 id="-54"><a href="#-54" class="headerlink" title=""></a></h3><pre><code>/^#?([a-fA-F0-9]&#123;6&#125;|[a-fA-F0-9]&#123;3&#125;)$/
133
+ </code></pre>
134
+ <h3 id="-55"><a href="#-55" class="headerlink" title=""></a></h3><pre><code>/^[a-zA-Z][-_a-zA-Z0-9]&#123;5,19&#125;$/
135
+ </code></pre>
136
+ <h3 id="-56"><a href="#-56" class="headerlink" title=""></a></h3><pre><code>/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d&#123;4&#125;$/
137
+ </code></pre>
138
+ <h3 id="-57"><a href="#-57" class="headerlink" title=""></a></h3><pre><code>/^((?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])|(\d))+$/
139
+ </code></pre>
140
+ <h3 id="-58"><a href="#-58" class="headerlink" title=""></a></h3><pre><code>/^[^A-Za-z]*$/
141
+ </code></pre>
142
+ </div><iframe src="/donate/?AliPayQR=https://store.xuehuayu.cn/store/public/alipay_qr.jpg&amp;WeChatQR=https://store.xuehuayu.cn/store/public/wechat_qr.png&amp;UnionPayQR=null&amp;GitHub=null&amp;BTCQR=null&amp;BTCKEY=null&amp;PayPal=https://www.paypal.com/paypalme/OrdinaryPerson" style="overflow-x:hidden; overflow-y:hidden; border:0xp none #fff; min-height:240px; width:100%;" frameborder="0" scrolling="no"></iframe><div><ul class="post-copyright"><li class="post-copyright-author"><strong>本文作者:</strong>雪花雨</li><li class="post-copyright-link"><strong>本文链接:</strong><a href="/article/53125.html">https://xuehuayu.cn/article/53125.html</a></li><li class="post-copyright-license"><strong>版权声明:</strong>① 标为原创的文章为博主原创,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接。② 转载文章来自网络,已标明出处,<a href="mailto:cainiaoblog@126.com">侵删</a>。</li></ul></div><br><div class="tags"><a href="/tags/%E8%BD%AC%E8%BD%BD/">转载</a></div><div class="post-nav"><a class="pre" href="/article/36642.html">Webpack多入口文件、热更新等体验</a><a class="next" href="/article/1566.html">写给前端的正则表达式入门</a></div><div id="vcomment"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@waline/client@v2/dist/waline.min.css"><script src="//cdn.jsdelivr.net/npm/@waline/client@v2/dist/waline.js"></script><script>const origin = window.location.origin
143
+ const serverURL = origin.includes('cainiaoblog') ? 'https://cmts.cainiaoblog.cn' : 'https://cmts.xuehuayu.cn'
144
+ const locale = {
145
+ placeholder: '请正确填写昵称和邮箱,方便接收回复通知~',
146
+ sofa: '沙发空缺中,还不快抢~',
147
+ };
148
+ Waline.init({
149
+ el: '#vcomment',
150
+ serverURL: serverURL,
151
+ pageSize: '20',
152
+ visitor: true, // 阅读量统计
153
+ requiredMeta: ['nick', 'mail'],
154
+ emoji: [
155
+ 'https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo',
156
+ 'https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/qq',
157
+ 'https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/tw-emoji',
158
+ ],
159
+ locale,
160
+ pageview: true
161
+ })
162
+ </script></div></div></div><div class="pure-u-1 pure-u-md-1-4 fixed-search hidden_mid_and_down"><div id="sidebar"><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/search.min.js"></script><div class="widget"><div class="widget-search"><input class="search" type="radio" name="search" value="baidu" id="baidu" checked="checked"/><label class="label" for="baidu" title="百度全站搜索">百度</label><input class="search" type="radio" name="search" value="google" id="google"/><label class="label" for="google" title="谷歌全站搜索">谷歌</label><input class="search" type="radio" name="search" value="self" id="self"/><label class="label" for="self" title="使用站内搜索">站内</label></div><div class="widget" id="search"><form class="search-form" action="//www.baidu.com/baidu" method="get" accept-charset="utf-8" target="_blank"><input type="search" name="word" maxlength="30" placeholder="百度全站搜索"/><input type="hidden" name="si" value="xuehuayu.cn"/><input type="hidden" name="cl" value="3"/><input type="hidden" name="ct" value="2097152"/><input type="hidden" name="s" value="on"/><input class="search-submit" type="submit" value=""/></form></div></div><script>$('input[type=radio][name=search]').change(function() {
163
+ var val = $(this).val()
164
+ var self = '<div class="search-form"><input id="local-search-input" placeholder="站内搜索,首次慢" type="search" name="q" results="0"><input class="search-submit" type="submit" value=""/><div id="local-search-result"></div></div>'
165
+ var google = '<form class="search-form" action="//www.google.com/search" method="get" accept-charset="utf-8" target="_blank"><input type="search" name="q" maxlength="30" placeholder="谷歌全站搜索"><input type="hidden" name="sitesearch" value="xuehuayu.cn"><input class="search-submit" type="submit" value=""/></form>'
166
+ var baidu = '<form class="search-form" action="//www.baidu.com/baidu" method="get" accept-charset="utf-8" target="_blank"><input type="search" name="word" maxlength="30" placeholder="百度全站搜索"><input type="hidden" name="si" value="xuehuayu.cn"><input type="hidden" name="cl" value="3"><input type="hidden" name="ct" value="2097152"><input type="hidden" name="s" value="on"><input class="search-submit" type="submit" value=""/></form>'
167
+
168
+ if (val === 'self') {
169
+ $('#search').html(self)
170
+ var search_path = 'search.xml';
171
+ if (search_path.length == 0) {
172
+ search_path = 'search.xml';
173
+ }
174
+ var path = 'https://cdn.staticaly.com/gh/npljy/npljy.github.io/main/' + search_path;
175
+ searchFunc(path, 'local-search-input', 'local-search-result');
176
+ } else if (val === 'baidu') {
177
+ $('#search').html(baidu)
178
+ } else if (val === 'google') {
179
+ $('#search').html(google)
180
+ }
181
+ })</script><div class="widget widget-wxmp"><img alt="微信公众号" width="100%" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/mp-mini.jpg"/></div><div class="widget widget-categories"><div class="widget-title"><i class="fa fa-folder-o"> 分类</i></div><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/CDN/">CDN</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/IDE/">IDE</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/git/">git</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/hexo/">hexo</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%85%AC%E5%85%B1%E8%8A%82%E6%97%A5/">公共节日</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%88%86%E4%BA%AB/">分享</a><span class="category-list-count">29</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%89%8D%E7%AB%AF/">前端</a><span class="category-list-count">191</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%89%8D%E7%AB%AF/%E6%B5%8F%E8%A7%88%E5%99%A8/">浏览器</a><span class="category-list-count">1</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%89%8D%E7%AB%AF/%E6%B5%8F%E8%A7%88%E5%99%A8/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/">网络协议</a><span class="category-list-count">1</span></li></ul></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%8D%9A%E5%AE%A2/">博客</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B7%A5%E5%85%B7/">工具</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B9%BF%E5%91%8A%E8%BF%87%E6%BB%A4/">广告过滤</a><span class="category-list-count">8</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B9%BF%E5%91%8A%E8%BF%87%E6%BB%A4/%E8%A7%86%E9%A2%91%E7%94%B5%E8%A7%86%E5%B0%8F%E8%AF%B4%E6%BC%AB%E7%94%BB%E8%B5%84%E8%AE%AF%E9%9F%B3%E4%B9%90/">视频电视小说漫画资讯音乐</a><span class="category-list-count">2</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%AD%A3%E5%88%99/">正则</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%B5%8F%E8%A7%88%E5%99%A8/">浏览器</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/">算法</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%B5%84%E8%AE%AF/">资讯</a><span class="category-list-count">16</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BD%BB%E6%9D%BE%E4%B8%80%E5%88%BB/">轻松一刻</a><span class="category-list-count">1</span></li></ul></div><div class="widget widget-tags"><div class="widget-title"><i class="fa fa-star-o"> 标签</i></div><div class="tagcloud"><a href="/tags/%E5%8E%9F%E5%88%9B/" style="font-size: 15px;">原创</a> <a href="/tags/%E8%BD%AC%E8%BD%BD/" style="font-size: 15px;">转载</a> <a href="/tags/%E6%89%8B%E5%86%99/" style="font-size: 15px;">手写</a> <a href="/tags/%E7%96%AB%E6%83%85/" style="font-size: 15px;">疫情</a> <a href="/tags/%E5%A8%B1%E4%B9%90/" style="font-size: 15px;">娱乐</a></div></div><div class="widget widget-recent-posts"><div class="widget-title"><i class="fa fa-file-o"> 最近文章</i></div><ul class="post-list"><li class="post-list-item"><a class="post-list-link" href="/article/c5576490.html">面试准备</a></li><li class="post-list-item"><a class="post-list-link" href="/article/84c9ccd6.html">精读《SolidJS》</a></li><li class="post-list-item"><a class="post-list-link" href="/article/53803e6.html">git提交注释规范</a></li><li class="post-list-item"><a class="post-list-link" href="/article/a4145266.html">前端数组拍平flat一行代码</a></li><li class="post-list-item"><a class="post-list-link" href="/article/bedea419.html">一道前端this面试题</a></li><li class="post-list-item"><a class="post-list-link" href="/article/bf7e7421.html">git多账号配置</a></li></ul></div><div class="widget widget-links"><div class="widget-title"><i class="fa fa-external-link"> 友情链接</i></div><ul></ul><a href="https://github.com/npljy?utm_source=xuehuayu.cn" title="GitHub" target="_blank">GitHub</a><ul></ul><a href="https://laonongmin.online?utm_source=xuehuayu.cn" title="看看" target="_blank">看看</a><ul></ul><a href="https://cainiaoblog.cn?utm_source=xuehuayu.cn" title="菜鸟博客" target="_blank">菜鸟博客</a><ul></ul><a href="mailto:cainiaoblog@126.com" title="友链联系" target="_blank">友链联系</a></div></div></div><div class="pure-u-1 pure-u-md-3-4"><div id="footer"><div class="flex-block justify-center align-center flex-wrap"><a class="gxba-link" id="gxba" rel="nofollow" target="_blank" href="http://beian.miit.gov.cn/">京ICP备20007647号-2</a><a class="gaba-link" id="gaba-link" rel="nofollow" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802031264"><img class="nofancybox" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/gaba.png" alt=""/><span id="gaba">京公网安备 11010802031264号</span><span style="padding-right: 10px;"></span></a><span>Copyright © 2023 </span><a href="/." rel="nofollow">前端壹菜鸟. </a><script>(function(){
182
+ var cnb =window.location.origin.indexOf('cainiaoblog') !==-1
183
+ if (cnb) {
184
+ var gxba =document.getElementById('gxba')
185
+ var gaba =document.getElementById('gaba')
186
+ var gabaLink =document.getElementById('gaba-link')
187
+ gxba.innerText ='京ICP备20007647号-1'
188
+ gaba.innerText ='京公网安备 11010802031254号'
189
+ gabaLink.setAttribute('href','http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802031254')
190
+ }
191
+ })()</script></div><div class="flex-block justify-center align-center flex-wrap"><a rel="nofollow" target="_blank" href="https://v6.51.la/s/Guz3lwHCsVme9Cu"><div class="busuanzi_container" id="busuanzi_container"><span class="busuanzi_container_site_pv" id="busuanzi_container_site_pv">访问量:<span id="busuanzi_value_site_pv"><i class="fa fa-spinner"></i></span></span><span class="busuanzi_container_site_uv" id="busuanzi_container_site_uv">访客数:<span id="busuanzi_value_site_uv"><i class="fa fa-spinner"></i></span></span><span style="padding-right: 10px;"></span></div></a><a rel="nofollow" target="_blank" href="https://www.upyun.com/?utm_source=lianmeng&amp;utm_medium=referral"><span style="font-weight:bold;letter-spacing: 1px;">本网站由 </span><img class="nofancybox" height="32" style="vertical-align: middle" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/upy_logo.min.svg" alt=""/><span style="font-weight:bold;letter-spacing: 1px;">提供CDN加速/云存储服务</span></a><span style="padding-right: 10px;"></span><a rel="nofollow" style="font-size:18px;font-weight:bold;vertical-align: middle" target="_blank" title="注册就送代金券可直接使用" href="https://console.upyun.com/register/?invite=HyDsjZHIL">注册</a></div></div></div></div><a class="show" id="rocket" href="#top"></a><div class="darkmode-toggle">🌓</div><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/totop.min.js" async></script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/dark.min.js" async></script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/codeblock-resizer.min.js"></script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/smartresize.min.js"></script></div></body></html>
@@ -0,0 +1,251 @@
1
+ <!DOCTYPE html><html lang="zh-CN" data-dark><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta name="description" content="前端壹菜鸟,记录工作难题,关注前端知识,收集精彩博文,做技术的搬运工"><meta name="msvalidate.01" content="0FE4D8B3381D3D87088996B886E1E2BD"><title>2019年适用于JavaScript开发人员的27种神奇的VSCode工具 | 前端壹菜鸟</title><link rel="stylesheet" type="text/css" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/css/style.min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/normalize.css@latest/normalize.min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/purecss@latest/build/pure-min.min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/purecss@latest/build/grids-responsive-min.css"><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css"><link rel="icon" mask="" sizes="any" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.ico"><link rel="Shortcut Icon" type="image/x-icon" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.ico"><link rel="apple-touch-icon" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.png"><link rel="apple-touch-icon-precomposed" href="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/blog.png"><link rel="alternate" type="application/atom+xml" href="/atom.xml"><script type="text/javascript" src="//cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js"></script><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8385136408348258"></script><script src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" async></script><script>(function(){
2
+ var bp = document.createElement('script');
3
+ var curProtocol = window.location.protocol.split(':')[0];
4
+ if (curProtocol === 'https'){
5
+ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
6
+ }
7
+ else{
8
+ bp.src = 'http://push.zhanzhang.baidu.com/push.js';
9
+ }
10
+ var s = document.getElementsByTagName("script")[0];
11
+ s.parentNode.insertBefore(bp, s);
12
+ })();
13
+ </script><script>(function(){
14
+ var src = 'https://jspassport.ssl.qhimg.com/11.0.1.js?d182b3f28525f2db83acfaaf6e696dba';
15
+ document.write('<script src="' + src + '" id="sozz"><\/script>');
16
+ })();
17
+ </script><script>var _hmt=_hmt||[];(function(){var hm=document.createElement("script");hm.src='https://hm.baidu.com/hm.js?011f0b44e8452bfa57fbfa23c5fe7683';var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();
18
+ </script><script async src="https://www.googletagmanager.com/gtag/js?id=UA-150860401-1"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);};gtag('js',new Date());gtag('config','UA-150860401-1');
19
+ </script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/fixedPage.min.js"></script><meta name="generator" content="Hexo 6.3.0"></head><body><div class="body_container"><div id="header"><div class="site-name"><a id="logo" href="/.">前端壹菜鸟</a><p class="description">关注前端知识,收集精彩博文,做技术的搬运工</p></div><div id="nav-menu"><a class="current" href="/." target="_self"><i class="fa fa-home"> 首页</i></a><a href="/archives/" target="_self"><i class="fa fa-archive"> 归档</i></a><a href="/guestbook/" target="_self"><i class="fa fa-comments"> 留言</i></a><a href="/about/" target="_self"><i class="fa fa-user"> 关于</i></a><a href="https://laonongmin.online/" target="_target"><i class="fa fa-group"> 看看</i></a><a href="https://love.xuehuayu.cn/" target="_target"><i class="fa fa-heart"> LOVE</i></a></div></div><div class="pure-g" id="layout"><div class="pure-u-1 pure-u-md-3-4"><div class="content_container"><div class="post"><h1 class="post-title c-post">2019年适用于JavaScript开发人员的27种神奇的VSCode工具</h1><div class="post-meta"><span class="date">2019-12-09</span><span> | </span><span class="tag"><a href="/tags/%E8%BD%AC%E8%BD%BD/">转载 </a></span><span> | </span><span class="category"><a href="/categories/%E5%89%8D%E7%AB%AF/">前端 </a></span><span id="busuanzi_container_page_pv"> | <span id="busuanzi_value_page_pv"><i class="fa fa-spinner"></i></span><span> 阅读</span></span><span class="post-time"><span class="post-meta-item-text"> | </span><span class="post-meta-item-icon"><i class="fa fa-keyboard-o"></i><span class="post-count"> 2.7k</span><span class="post-meta-item-text"> 字</span></span></span><span class="post-time"> | <span class="post-meta-item-icon"><i class="fa fa-hourglass-half"></i><span class="post-count"> 10</span><span class="post-meta-item-text"> 分钟</span></span></span></div><a class="disqus-comment-count" href="/article/53428.html#vcomment"><span class="waline-comment-count" data-path="/article/53428.html"></span><span> 条评论</span></a><div class="post-content"><p><code>原文地址:https://www.html.cn/top/14138.html</code></p>
20
+ <p><a target="_blank" rel="noopener" href="https://code.visualstudio.com/"><code>Visual Studio Code</code></a>(也称为VSCode)是一种轻量级但功能强大的跨平台源代码编辑器, 借助对TypeScript 和Chrome调试器等开发工具的内置支持,越来越多的开发都都喜欢使用它。</p>
21
+ <span id="more"></span>
22
+ <p><img src="https://img.php.cn/upload/article/000/000/006/5dd4aaaa3d273411.jpg" alt="xuehuayu.cn"></p>
23
+ <p>如果你正在寻找更多的好用的 VSCode 工具,那么这篇或许能够帮助你。以下是 2019年为 JS 开发者提供的27个不可思议的VSCode工具。</p>
24
+ <h2 id="1-Project-Snippets-代码片段"><a href="#1-Project-Snippets-代码片段" class="headerlink" title="1. Project Snippets (代码片段)"></a>1. Project Snippets (代码片段)</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=rebornix.project-snippets">project snippets</a>,这是我最喜欢的一个工具,它来自于 VSCode 中内置的原始用户代码片段。<br>该特性允许你创建自己的代码段,以便在整个项目中重用。</p>
25
+ <p>但是<strong>“重用”</strong>它们到底意味着什么?</p>
26
+ <p>如果咱们经常要重复写下面这样的样板文件:</p>
27
+ <pre><code>import &#123; useReducer &#125; from &#39;react&#39;
28
+
29
+ const initialState = &#123;
30
+ //
31
+ &#125;
32
+
33
+ const reducer = (state, action) =&gt; &#123;
34
+ switch (action.type) &#123;
35
+ default:
36
+ return state
37
+ &#125;
38
+ &#125;
39
+
40
+ const useSomeHook = () =&gt; &#123;
41
+ const [state, dispatch] = useReducer(reducer, initialState)
42
+ return &#123;
43
+ ...state,
44
+ &#125;
45
+ &#125;
46
+
47
+ export default useSomeHook
48
+ </code></pre>
49
+ <p>实际上,咱们可以直接将上面的代码放到的<strong>用户代码片段</strong>中,因此不必写出(或复制和粘贴)整个代码片段,只需键入一个自定义前缀来生成配置的代码片段即可。</p>
50
+ <p>打开 VsCode,然后选择 <code>文件 &gt;首选项 &gt; 用户代码片段</code>,则可以选择通过单击 <code>&#39;新建全局代码片段文件&#39;</code>来创建新的全局代码片段。</p>
51
+ <p>例如,要为 TypeScript React 项目创建自己的代码片段文件,可以单击<code>新建全局代码片段文件</code>,输入 <code>typescriptreact.json</code>。它将引导咱们访问一个新创建的<code>.json</code>文件,可以使用该文件来构建使用TypeScript 的 React 应用程序。</p>
52
+ <p>例如,要从上面的代码示例创建一个用户片段,可以这样做:</p>
53
+ <pre><code>&#123;
54
+ &quot;const initialState = &#123;&#125;; const reducer = (state, action)&quot;: &#123;
55
+ &quot;prefix&quot;: &quot;rsr&quot;,
56
+ &quot;body&quot;: [
57
+ &quot;const initialState = &#123;&quot;,
58
+ &quot; //$1&quot;,
59
+ &quot;&#125;&quot;,
60
+ &quot;&quot;,
61
+ &quot;const reducer = (state, action) =&gt; &#123;&quot;,
62
+ &quot; switch (action.type) &#123;&quot;,
63
+ &quot; default:&quot;,
64
+ &quot; return state&quot;,
65
+ &quot; &#125;&quot;,
66
+ &quot;&#125;&quot;
67
+ ]
68
+ &#125;
69
+ &#125;
70
+ </code></pre>
71
+ <p>有了它,咱们可以创建一个以<code>.tsx</code>结尾的新<code>TypeScript</code>文件,在新创建的文件输入<code>rsr</code>,然后按回车或 <code>tab</code> 键 VSCode 就会帮咱们生成代码片段内容。</p>
72
+ <pre><code>const initialState = &#123;
73
+ //
74
+ &#125;
75
+
76
+ const reducer = (state, action) =&gt; &#123;
77
+ switch (action.type) &#123;
78
+ default:
79
+ return state
80
+ &#125;
81
+ &#125;
82
+ </code></pre>
83
+ <p>全局用户代码片段的问题是,它将贯穿咱们所有项目(在某些情况下,这对于一般的代码片段来说是非常强大的)。</p>
84
+ <p>一些项目将以不同的方式配置,当需要区分特定的用例时,用于配置代码片段的全局文件就成了一个问题。</p>
85
+ <p>例如,当每个项目的项目结构不同时</p>
86
+ <pre><code>&#123;
87
+ &quot;import Link from components/common/Link&quot;: &#123;
88
+ &quot;prefix&quot;: &quot;gcl&quot;,
89
+ &quot;body&quot;: &quot;import Link from &#39;components/common/Link&#39;&quot;
90
+ &#125;,
91
+ &quot;border test&quot;: &#123;
92
+ &quot;prefix&quot;: &quot;b1&quot;,
93
+ &quot;body&quot;: &quot;border: &#39;1px solid red&#39;,&quot;
94
+ &#125;,
95
+ &quot;border test2&quot;: &#123;
96
+ &quot;prefix&quot;: &quot;b2&quot;,
97
+ &quot;body&quot;: &quot;border: &#39;1px solid green&#39;,&quot;
98
+ &#125;,
99
+ &quot;border test3&quot;: &#123;
100
+ &quot;prefix&quot;: &quot;b3&quot;,
101
+ &quot;body&quot;: &quot;border: &#39;1px solid magenta&#39;,&quot;
102
+ &#125;
103
+ &#125;
104
+ </code></pre>
105
+ <p>这对于具有特定<code>file/folder</code>结构的项目可能就足够了,但是如果咱们正在处理另一个项目,其中 <code>Link</code> 组件具有类似<code>components/Link</code>的路径,该怎么办?</p>
106
+ <p>请注意这三个<code>border tests</code>是如何将它们的值用单引号括起来的:<code>border: &#39;1px solid red&#39;</code>。</p>
107
+ <p>这在 JS 中是完全有效的,但是如果使用 <a target="_blank" rel="noopener" href="https://www.styled-components.com/docs">styled-components</a> 作为项目的样式解决方案呢?该语法不再适用于该工作区,因为 <code>styled components</code>使用普通的CSS语法</p>
108
+ <p>这就是 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=rebornix.project-snippets">project snippets</a> 的亮点所在。</p>
109
+ <p><strong>Project snippets</strong>使咱们可以声明<strong>项目&#x2F;工作区</strong>级别的代码段,让当前项目代码段不会与其它项目冲突也不会污染其他项目。</p>
110
+ <h2 id="2-Better-Comments-更加人性化的注释"><a href="#2-Better-Comments-更加人性化的注释" class="headerlink" title="2. Better Comments(更加人性化的注释)"></a>2. Better Comments(更加人性化的注释)</h2><p>如果喜欢在代码中编写注释,那么有时你可能会发现搜索您以前编写的特定注释的位置是令人沮丧的,因为代码可能会变得有些拥挤。</p>
111
+ <p>有了 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments">Better Comments</a>,可以通过引入彩色注释使注释更加明显。</p>
112
+ <p><img src="https://img.php.cn/upload/image/755/631/305/1574216166518041.jpg" alt="1574216166518041.jpg"></p>
113
+ <h2 id="3-Bracket-Pair-Colorizer-标签匹配-括号匹配插件"><a href="#3-Bracket-Pair-Colorizer-标签匹配-括号匹配插件" class="headerlink" title="3. Bracket Pair Colorizer (标签匹配 括号匹配插件)"></a>3. Bracket Pair Colorizer (标签匹配 括号匹配插件)</h2><p>第一次看到<a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer">Bracket Pair Colorizer</a>的屏幕截图时,我第一时间入安装使用了。</p>
114
+ <p><img src="https://img.php.cn/upload/image/254/741/166/1574216306540170.png" alt="1574216306540170.png"></p>
115
+ <h2 id="4-Material-Theme"><a href="#4-Material-Theme" class="headerlink" title="4. Material Theme"></a>4. Material Theme</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme">Material Theme</a>是一个史诗主题,可以直接安装到VSCode中,安装后代码看起来像这样:</p>
116
+ <p><img src="https://img.php.cn/upload/image/622/242/464/1574218558500543.gif" alt="1574218558500543.gif"></p>
117
+ <h2 id="5-typescript-eslint-x2F-parser"><a href="#5-typescript-eslint-x2F-parser" class="headerlink" title="5. @typescript-eslint&#x2F;parser"></a>5. @typescript-eslint&#x2F;parser</h2><p>如果你是一个TypeScript用户,应该开始考虑将你的 TSLint 配置转移到<code>ESLint + TypeScript</code>上,<a target="_blank" rel="noopener" href="https://github.com/typescript-eslint/typescript-eslint#what-about-tslint">TSLint 背后的支持者已经宣布计划在今年的某个时候弃用 TSLint</a>。</p>
118
+ <p>项目正逐步采用<code>@typescript-eslint/parser</code>和相关包,以确保其项目的前瞻性设置。</p>
119
+ <p>咱们仍然能够利用大部分ESLint的规则和兼容性与更漂亮使用新的设置。</p>
120
+ <h2 id="6-Stylelint"><a href="#6-Stylelint" class="headerlink" title="6. Stylelint"></a>6. Stylelint</h2><p>对我来说,出于以下几个原因,<a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=shinnn.stylelint">stylelint</a> 在我所有的项目中都是必须的:</p>
121
+ <ol>
122
+ <li><p>它有助于避免错误。</p>
123
+ </li>
124
+ <li><p>它加强了CSS中的样式约定。</p>
125
+ </li>
126
+ <li><p>它与<a target="_blank" rel="noopener" href="https://prettier.io/">Prettier</a>支持并驾齐驱。</p>
127
+ </li>
128
+ <li><p>它支持 CSS&#x2F;SCSS&#x2F;Sass&#x2F;Less。</p>
129
+ </li>
130
+ <li><p>它支持社区编写的插件。</p>
131
+ </li>
132
+ </ol>
133
+ <p><img src="https://img.php.cn/upload/image/455/242/653/1574216516754930.jpg" alt="1574216516754930.jpg"></p>
134
+ <h2 id="7-Markdownlint-docsify"><a href="#7-Markdownlint-docsify" class="headerlink" title="7. Markdownlint + docsify"></a>7. Markdownlint + docsify</h2><p>markdown 爱好者一定要试试 vscode 上的 <a target="_blank" rel="noopener" href="https://github.com/DavidAnson/vscode-markdownlint">markdownlint</a> 扩展,会用绿色波浪线给你提示出 N 多不符合书写规范的地方,比如:</p>
135
+ <ul>
136
+ <li><p>标题下面必须是个空行</p>
137
+ </li>
138
+ <li><p>代码段必须加上类型</p>
139
+ </li>
140
+ <li><p>文中不能出现<code>&lt;br&gt;</code>这种<code>html</code>标号</p>
141
+ </li>
142
+ <li><p><code>URL</code>必须用<code>&lt; &gt;</code>扩起来</p>
143
+ </li>
144
+ </ul>
145
+ <p>同时也可以配合安装 <a target="_blank" rel="noopener" href="https://docsify.js.org/#/">docsify</a>,因为它支持<code>Markdown</code>和每个项目的其他增强。</p>
146
+ <h2 id="8-TODO-Highlight"><a href="#8-TODO-Highlight" class="headerlink" title="8. TODO Highlight"></a>8. TODO Highlight</h2><p>如果习惯在应用程序代码中编写待办事项的开发者,可以安装 TODO Highlight 这样的扩展名对于突出显示整个项目中设置的待办事项非常有用。</p>
147
+ <p><img src="https://img.php.cn/upload/image/948/350/968/1574216771656927.jpg" alt="1574216771656927.jpg"></p>
148
+ <h2 id="9-Import-Cost"><a href="#9-Import-Cost" class="headerlink" title="9. Import Cost"></a>9. Import Cost</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost">Import Cost</a> 可以显示咱们在VS代码编辑器中导入的程序包的大小。</p>
149
+ <p><img src="https://img.php.cn/upload/image/203/279/899/1574217030168635.gif" alt="1574217030168635.gif"></p>
150
+ <h2 id="10-Highlight-Matching-Tag"><a href="#10-Highlight-Matching-Tag" class="headerlink" title="10. Highlight Matching Tag"></a>10. Highlight Matching Tag</h2><p>有时,试图匹配标签的结束地方会令人沮丧,这时 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=vincaslt.highlight-matching-tag">Highlight Matching Tag</a> 就派上用场了</p>
151
+ <p><img src="https://img.php.cn/upload/image/927/943/875/1574217070426834.gif" alt="1574217070426834.gif"></p>
152
+ <h2 id="11-vscode-spotify"><a href="#11-vscode-spotify" class="headerlink" title="11. vscode-spotify"></a>11. vscode-spotify</h2><p>程序员经常边听歌边打代码,有时候写到一半,歌太难听,想切换,得切到音乐播放器,然后在回到 VsCdoe 界面,有点麻烦。</p>
153
+ <p>这就是 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=shyykoserhiy.vscode-spotify">vscode-spotify</a> 用武功之地,因为它可以在VSCode内直接使用音乐播放器。</p>
154
+ <p>有了这个扩展,各位就可以在状态栏中看到当前播放的歌曲,可以通过热键在歌曲之间切换,也可以点击按钮来控制音乐播放器等等。</p>
155
+ <p><img src="https://img.php.cn/upload/image/685/359/708/1574217205987421.jpg" alt="1574217205987421.jpg"></p>
156
+ <h2 id="12-GraphQL-for-VSCode"><a href="#12-GraphQL-for-VSCode" class="headerlink" title="12. GraphQL for VSCode"></a>12. GraphQL for VSCode</h2><p><a target="_blank" rel="noopener" href="https://graphql.org/">GraphQL</a>一直在发展,咱们经常可以在 JS 社区中看到它的身影。因此,最好开始考虑在 VSCode中安装 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=kumar-harsh.graphql-for-vscode">GraphQL for VSCode</a>。</p>
157
+ <p><img src="https://img.php.cn/upload/image/262/748/565/1574217265115356.jpg" alt="1574217265115356.jpg"></p>
158
+ <h2 id="13-Indent-Rainbow"><a href="#13-Indent-Rainbow" class="headerlink" title="13. Indent-Rainbow"></a>13. Indent-Rainbow</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow">Indent-Rainbow</a> 会给缩进添加一种颜色,让你更加直观的看到代码层次。</p>
159
+ <p><img src="https://img.php.cn/upload/image/932/815/964/1574217301293097.jpg" alt="1574217301293097.jpg"></p>
160
+ <h2 id="14-Color-Highlight"><a href="#14-Color-Highlight" class="headerlink" title="14. Color Highlight"></a>14. Color Highlight</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=naumovs.color-highlight">Color Highlight</a> 可以在代码中突出显示颜色,如下所示:</p>
161
+ <p><img src="https://img.php.cn/upload/image/221/241/391/1574217336136341.jpg" alt="1574217336136341.jpg"></p>
162
+ <h2 id="15-Color-Picker"><a href="#15-Color-Picker" class="headerlink" title="15. Color Picker"></a>15. Color Picker</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=anseki.vscode-color">Color Picker</a> 是一个 VSCode 扩展,它为咱们提供了一个图形用户界面,用来选择和生成颜色代码,如 CSS 颜色符号。</p>
163
+ <p><img src="https://img.php.cn/upload/image/381/956/202/1574217387588756.gif" alt="1574217387588756.gif"></p>
164
+ <h2 id="16-REST-Client"><a href="#16-REST-Client" class="headerlink" title="16. REST Client"></a>16. REST Client</h2><p>第一次看到 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client">REST Client</a> 并尝试它时,与现有的软件(如Postman)相比,它似乎不是一个非常有用的工具。</p>
165
+ <p>但是,对 <strong>REST Client</strong> 扩展的用法了解越多,就会意识到它对开发工具的影响有多大,尤其是在测试API 时。</p>
166
+ <p>只需要创建一个新文件写入下面这一行:</p>
167
+ <pre><code>https://google.com
168
+ </code></pre>
169
+ <p>然后转到命令面板<code>(CTRL + SHIFT + P)</code>,单击<code>Rest Client: Send request</code>,它会在一瞬间弹出一个包含请求响应详细信息的新选项卡,非常有用:</p>
170
+ <p><img src="https://img.php.cn/upload/image/580/109/765/1574217446933344.jpg" alt="1574217446933344.jpg"></p>
171
+ <p>甚至还可以传递参数,或将请求体数据请求到<code>POST</code>,而下面仅需几行代码:</p>
172
+ <pre><code>POST https://test.someapi.com/v1/account/user/login/
173
+ Content-Type: application/json
174
+
175
+ &#123; &quot;email&quot;: &quot;someemail@gmail.com&quot;, &quot;password&quot;: 1 &#125;
176
+ </code></pre>
177
+ <p>就会发送<code>POST</code>请求,参数为 <code>&#123; &quot;email&quot;: &quot;someemail@gmail.com&quot;, &quot;password&quot;: 1 &#125;</code>。</p>
178
+ <h2 id="17-Settings-Sync"><a href="#17-Settings-Sync" class="headerlink" title="17. Settings Sync"></a>17. Settings Sync</h2><p><code>vscode</code>上有各种各样不同的插件,如果要在不同的电脑上使用 <code>vscode</code> 配置是件比较麻烦的事情,使用 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync">Settings Sync</a> 将 <code>vscode</code> 配置备份起来,当需要在其他电脑使用 <code>vscode</code> 时只需下载备份的配置就可以了。</p>
179
+ <p>咱们只需要一个 GitHub 帐户,并且每次要保存配置(包括按键绑定,代码片段,扩展名等)时,只需按<code>SHIFT + ALT + U</code>将私有设置上传到 <code>GitHub</code> 帐户即可。 然后,下次登录或重新格式化为另一台计算机时,可以按<code>SHIFT + ALT + D</code>组合键立即下载配置。</p>
180
+ <h2 id="18-Todo-Tree"><a href="#18-Todo-Tree" class="headerlink" title="18. Todo Tree"></a>18. Todo Tree</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree">Todo Tree</a> 将帮助咱们找到在整个应用程序代码中创建的所有待办事项。它将把它们放到一个单独的树中,还可以在面板的左侧同时查看它们</p>
181
+ <p><img src="https://img.php.cn/upload/image/983/518/305/1574217600518893.jpg" alt="1574217600518893.jpg"></p>
182
+ <h2 id="19-Toggle-Quotes"><a href="#19-Toggle-Quotes" class="headerlink" title="19. Toggle Quotes"></a>19. Toggle Quotes</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=BriteSnow.vscode-toggle-quotes">Toggle Quotes</a>是一个有趣的实用工具扩展,它允许咱们在引号之间进行切换。当需要在使用字符串插入时切换到反引号时,它就派上用场了。</p>
183
+ <p><img src="https://img.php.cn/upload/image/928/330/255/1574217655942615.gif" alt="1574217655942615.gif"></p>
184
+ <h2 id="20-Better-Align"><a href="#20-Better-Align" class="headerlink" title="20. Better Align"></a>20. Better Align</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=wwm.better-align">Better Align</a> 对齐赋值符号和注释。要使用它,将光标放在想要对齐的代码中,使用<code>CTRL + SHIFT + P</code>打开命令面板(或者使用自定义快捷方式打开命令面板),然后调用<code>Align</code> 命令。</p>
185
+ <p><img src="https://img.php.cn/upload/image/409/272/648/1574217915322689.gif" alt="1574217915322689.gif"></p>
186
+ <h2 id="21-Auto-Close-Tag"><a href="#21-Auto-Close-Tag" class="headerlink" title="21. Auto Close Tag"></a>21. Auto Close Tag</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag">Auto Close Tag</a>自动闭合html标签。</p>
187
+ <p><img src="https://img.php.cn/upload/image/676/343/980/1574217966385009.gif" alt="1574217966385009.gif"></p>
188
+ <h2 id="22-Sort-Lines"><a href="#22-Sort-Lines" class="headerlink" title="22. Sort Lines"></a>22. Sort Lines</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines">Sort lines</a> 可以帮助咱们排序选中行。</p>
189
+ <p><img src="https://img.php.cn/upload/image/546/759/462/1574217997625141.gif" alt="1574217997625141.gif"></p>
190
+ <h2 id="23-VSCode-Google-Translate"><a href="#23-VSCode-Google-Translate" class="headerlink" title="23. VSCode Google Translate"></a>23. VSCode Google Translate</h2><p>如果是参与多语言开发的项目,<a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=funkyremi.vscode-google-translate">VSCode Google Translate</a> 可以帮助咱们快速切换语言。</p>
191
+ <p><img src="https://img.php.cn/upload/image/861/494/373/1574218031355854.gif" alt="1574218031355854.gif"></p>
192
+ <h2 id="24-Prettier"><a href="#24-Prettier" class="headerlink" title="24. Prettier"></a>24. Prettier</h2><p><a target="_blank" rel="noopener" href="https://github.com/prettier/prettier-vscode">Prettier</a>是VSCode的扩展,可自动格式化JavaScript&#x2F;TypeScript 等等,使代码更漂亮。</p>
193
+ <p><img src="https://img.php.cn/upload/image/395/191/310/1574218079544896.jpg" alt="1574218079544896.jpg"></p>
194
+ <h2 id="25-Material-Icon-Theme"><a href="#25-Material-Icon-Theme" class="headerlink" title="25. Material Icon Theme"></a>25. Material Icon Theme</h2><p>与其他图标主题相比,我更喜欢 <a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme">Material Icon Theme</a>,因为文件类型更为明显,尤其是在使用深色主题。</p>
195
+ <p><img src="https://img.php.cn/upload/image/166/874/874/1574218129394011.jpg" alt="1574218129394011.jpg"></p>
196
+ <h2 id="26-IntelliSense-for-CSS-Class-Names-in-HTML"><a href="#26-IntelliSense-for-CSS-Class-Names-in-HTML" class="headerlink" title="26. IntelliSense for CSS Class Names in HTML"></a>26. IntelliSense for CSS Class Names in HTML</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=Zignd.html-css-class-completion">IntelliSense for CSS Class Names in HTML</a>,基于在工作空间中找到的定义性,并提供了CSS 类名补全。</p>
197
+ <h2 id="27-Path-Intellisense"><a href="#27-Path-Intellisense" class="headerlink" title="27. Path Intellisense"></a>27. Path Intellisense</h2><p><a target="_blank" rel="noopener" href="https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense">Path Intellisense</a> 自动路劲补全。</p>
198
+ <p><img src="https://img.php.cn/upload/image/342/485/189/1574218215665637.gif" alt="1574218215665637.gif"></p>
199
+ <p><code>原文地址:https://dev.to/jsmanifest/26-miraculous-vs-code-tools-for-javascript-developers-in-2019-50gg</code></p>
200
+ <p>为了保证的可读性,本文采用意译而非直译。</p>
201
+ <p>以上就是2019年适用于JavaScript开发人员的27种神奇的VSCode工具的详细内容,更多请关注html中文网其它相关文章!</p>
202
+ </div><iframe src="/donate/?AliPayQR=https://store.xuehuayu.cn/store/public/alipay_qr.jpg&amp;WeChatQR=https://store.xuehuayu.cn/store/public/wechat_qr.png&amp;UnionPayQR=null&amp;GitHub=null&amp;BTCQR=null&amp;BTCKEY=null&amp;PayPal=https://www.paypal.com/paypalme/OrdinaryPerson" style="overflow-x:hidden; overflow-y:hidden; border:0xp none #fff; min-height:240px; width:100%;" frameborder="0" scrolling="no"></iframe><div><ul class="post-copyright"><li class="post-copyright-author"><strong>本文作者:</strong>雪花雨</li><li class="post-copyright-link"><strong>本文链接:</strong><a href="/article/53428.html">https://xuehuayu.cn/article/53428.html</a></li><li class="post-copyright-license"><strong>版权声明:</strong>① 标为原创的文章为博主原创,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接。② 转载文章来自网络,已标明出处,<a href="mailto:cainiaoblog@126.com">侵删</a>。</li></ul></div><br><div class="tags"><a href="/tags/%E8%BD%AC%E8%BD%BD/">转载</a></div><div class="post-nav"><a class="pre" href="/article/15518.html">13 个 npm 快速开发技巧</a><a class="next" href="/article/39637.html">常见React.js问题(附解决方案)</a></div><div id="vcomment"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@waline/client@v2/dist/waline.min.css"><script src="//cdn.jsdelivr.net/npm/@waline/client@v2/dist/waline.js"></script><script>const origin = window.location.origin
203
+ const serverURL = origin.includes('cainiaoblog') ? 'https://cmts.cainiaoblog.cn' : 'https://cmts.xuehuayu.cn'
204
+ const locale = {
205
+ placeholder: '请正确填写昵称和邮箱,方便接收回复通知~',
206
+ sofa: '沙发空缺中,还不快抢~',
207
+ };
208
+ Waline.init({
209
+ el: '#vcomment',
210
+ serverURL: serverURL,
211
+ pageSize: '20',
212
+ visitor: true, // 阅读量统计
213
+ requiredMeta: ['nick', 'mail'],
214
+ emoji: [
215
+ 'https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo',
216
+ 'https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/qq',
217
+ 'https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/tw-emoji',
218
+ ],
219
+ locale,
220
+ pageview: true
221
+ })
222
+ </script></div></div></div><div class="pure-u-1 pure-u-md-1-4 fixed-search hidden_mid_and_down"><div id="sidebar"><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/search.min.js"></script><div class="widget"><div class="widget-search"><input class="search" type="radio" name="search" value="baidu" id="baidu" checked="checked"/><label class="label" for="baidu" title="百度全站搜索">百度</label><input class="search" type="radio" name="search" value="google" id="google"/><label class="label" for="google" title="谷歌全站搜索">谷歌</label><input class="search" type="radio" name="search" value="self" id="self"/><label class="label" for="self" title="使用站内搜索">站内</label></div><div class="widget" id="search"><form class="search-form" action="//www.baidu.com/baidu" method="get" accept-charset="utf-8" target="_blank"><input type="search" name="word" maxlength="30" placeholder="百度全站搜索"/><input type="hidden" name="si" value="xuehuayu.cn"/><input type="hidden" name="cl" value="3"/><input type="hidden" name="ct" value="2097152"/><input type="hidden" name="s" value="on"/><input class="search-submit" type="submit" value=""/></form></div></div><script>$('input[type=radio][name=search]').change(function() {
223
+ var val = $(this).val()
224
+ var self = '<div class="search-form"><input id="local-search-input" placeholder="站内搜索,首次慢" type="search" name="q" results="0"><input class="search-submit" type="submit" value=""/><div id="local-search-result"></div></div>'
225
+ var google = '<form class="search-form" action="//www.google.com/search" method="get" accept-charset="utf-8" target="_blank"><input type="search" name="q" maxlength="30" placeholder="谷歌全站搜索"><input type="hidden" name="sitesearch" value="xuehuayu.cn"><input class="search-submit" type="submit" value=""/></form>'
226
+ var baidu = '<form class="search-form" action="//www.baidu.com/baidu" method="get" accept-charset="utf-8" target="_blank"><input type="search" name="word" maxlength="30" placeholder="百度全站搜索"><input type="hidden" name="si" value="xuehuayu.cn"><input type="hidden" name="cl" value="3"><input type="hidden" name="ct" value="2097152"><input type="hidden" name="s" value="on"><input class="search-submit" type="submit" value=""/></form>'
227
+
228
+ if (val === 'self') {
229
+ $('#search').html(self)
230
+ var search_path = 'search.xml';
231
+ if (search_path.length == 0) {
232
+ search_path = 'search.xml';
233
+ }
234
+ var path = 'https://cdn.staticaly.com/gh/npljy/npljy.github.io/main/' + search_path;
235
+ searchFunc(path, 'local-search-input', 'local-search-result');
236
+ } else if (val === 'baidu') {
237
+ $('#search').html(baidu)
238
+ } else if (val === 'google') {
239
+ $('#search').html(google)
240
+ }
241
+ })</script><div class="widget widget-wxmp"><img alt="微信公众号" width="100%" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/mp-mini.jpg"/></div><div class="widget widget-categories"><div class="widget-title"><i class="fa fa-folder-o"> 分类</i></div><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/CDN/">CDN</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/IDE/">IDE</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/git/">git</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/hexo/">hexo</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%85%AC%E5%85%B1%E8%8A%82%E6%97%A5/">公共节日</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%88%86%E4%BA%AB/">分享</a><span class="category-list-count">29</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%89%8D%E7%AB%AF/">前端</a><span class="category-list-count">191</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%89%8D%E7%AB%AF/%E6%B5%8F%E8%A7%88%E5%99%A8/">浏览器</a><span class="category-list-count">1</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%89%8D%E7%AB%AF/%E6%B5%8F%E8%A7%88%E5%99%A8/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/">网络协议</a><span class="category-list-count">1</span></li></ul></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%8D%9A%E5%AE%A2/">博客</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B7%A5%E5%85%B7/">工具</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B9%BF%E5%91%8A%E8%BF%87%E6%BB%A4/">广告过滤</a><span class="category-list-count">8</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B9%BF%E5%91%8A%E8%BF%87%E6%BB%A4/%E8%A7%86%E9%A2%91%E7%94%B5%E8%A7%86%E5%B0%8F%E8%AF%B4%E6%BC%AB%E7%94%BB%E8%B5%84%E8%AE%AF%E9%9F%B3%E4%B9%90/">视频电视小说漫画资讯音乐</a><span class="category-list-count">2</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%AD%A3%E5%88%99/">正则</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%B5%8F%E8%A7%88%E5%99%A8/">浏览器</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/">算法</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%B5%84%E8%AE%AF/">资讯</a><span class="category-list-count">16</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BD%BB%E6%9D%BE%E4%B8%80%E5%88%BB/">轻松一刻</a><span class="category-list-count">1</span></li></ul></div><div class="widget widget-tags"><div class="widget-title"><i class="fa fa-star-o"> 标签</i></div><div class="tagcloud"><a href="/tags/%E5%8E%9F%E5%88%9B/" style="font-size: 15px;">原创</a> <a href="/tags/%E8%BD%AC%E8%BD%BD/" style="font-size: 15px;">转载</a> <a href="/tags/%E6%89%8B%E5%86%99/" style="font-size: 15px;">手写</a> <a href="/tags/%E7%96%AB%E6%83%85/" style="font-size: 15px;">疫情</a> <a href="/tags/%E5%A8%B1%E4%B9%90/" style="font-size: 15px;">娱乐</a></div></div><div class="widget widget-recent-posts"><div class="widget-title"><i class="fa fa-file-o"> 最近文章</i></div><ul class="post-list"><li class="post-list-item"><a class="post-list-link" href="/article/c5576490.html">面试准备</a></li><li class="post-list-item"><a class="post-list-link" href="/article/84c9ccd6.html">精读《SolidJS》</a></li><li class="post-list-item"><a class="post-list-link" href="/article/53803e6.html">git提交注释规范</a></li><li class="post-list-item"><a class="post-list-link" href="/article/a4145266.html">前端数组拍平flat一行代码</a></li><li class="post-list-item"><a class="post-list-link" href="/article/bedea419.html">一道前端this面试题</a></li><li class="post-list-item"><a class="post-list-link" href="/article/bf7e7421.html">git多账号配置</a></li></ul></div><div class="widget widget-links"><div class="widget-title"><i class="fa fa-external-link"> 友情链接</i></div><ul></ul><a href="https://github.com/npljy?utm_source=xuehuayu.cn" title="GitHub" target="_blank">GitHub</a><ul></ul><a href="https://laonongmin.online?utm_source=xuehuayu.cn" title="看看" target="_blank">看看</a><ul></ul><a href="https://cainiaoblog.cn?utm_source=xuehuayu.cn" title="菜鸟博客" target="_blank">菜鸟博客</a><ul></ul><a href="mailto:cainiaoblog@126.com" title="友链联系" target="_blank">友链联系</a></div></div></div><div class="pure-u-1 pure-u-md-3-4"><div id="footer"><div class="flex-block justify-center align-center flex-wrap"><a class="gxba-link" id="gxba" rel="nofollow" target="_blank" href="http://beian.miit.gov.cn/">京ICP备20007647号-2</a><a class="gaba-link" id="gaba-link" rel="nofollow" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802031264"><img class="nofancybox" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/gaba.png" alt=""/><span id="gaba">京公网安备 11010802031264号</span><span style="padding-right: 10px;"></span></a><span>Copyright © 2023 </span><a href="/." rel="nofollow">前端壹菜鸟. </a><script>(function(){
242
+ var cnb =window.location.origin.indexOf('cainiaoblog') !==-1
243
+ if (cnb) {
244
+ var gxba =document.getElementById('gxba')
245
+ var gaba =document.getElementById('gaba')
246
+ var gabaLink =document.getElementById('gaba-link')
247
+ gxba.innerText ='京ICP备20007647号-1'
248
+ gaba.innerText ='京公网安备 11010802031254号'
249
+ gabaLink.setAttribute('href','http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802031254')
250
+ }
251
+ })()</script></div><div class="flex-block justify-center align-center flex-wrap"><a rel="nofollow" target="_blank" href="https://v6.51.la/s/Guz3lwHCsVme9Cu"><div class="busuanzi_container" id="busuanzi_container"><span class="busuanzi_container_site_pv" id="busuanzi_container_site_pv">访问量:<span id="busuanzi_value_site_pv"><i class="fa fa-spinner"></i></span></span><span class="busuanzi_container_site_uv" id="busuanzi_container_site_uv">访客数:<span id="busuanzi_value_site_uv"><i class="fa fa-spinner"></i></span></span><span style="padding-right: 10px;"></span></div></a><a rel="nofollow" target="_blank" href="https://www.upyun.com/?utm_source=lianmeng&amp;utm_medium=referral"><span style="font-weight:bold;letter-spacing: 1px;">本网站由 </span><img class="nofancybox" height="32" style="vertical-align: middle" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/img/upy_logo.min.svg" alt=""/><span style="font-weight:bold;letter-spacing: 1px;">提供CDN加速/云存储服务</span></a><span style="padding-right: 10px;"></span><a rel="nofollow" style="font-size:18px;font-weight:bold;vertical-align: middle" target="_blank" title="注册就送代金券可直接使用" href="https://console.upyun.com/register/?invite=HyDsjZHIL">注册</a></div></div></div></div><a class="show" id="rocket" href="#top"></a><div class="darkmode-toggle">🌓</div><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/totop.min.js" async></script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/dark.min.js" async></script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/codeblock-resizer.min.js"></script><script type="text/javascript" src="//cdn.staticaly.com/gh/npljy/npljy.github.io/main/js/smartresize.min.js"></script></div></body></html>