摘要:在對比我最近幾個月所用的開發工具后,我發現了一些驚人的東西。永遠不停止使用。將警告未使用的代碼。預檢查使用,,和非常有用。不再需要使用開啟服務器,創建應用程序,并打開瀏覽器。嘗試使用別的東西,立即出現錯誤。
原文:Supercharging Frontend Development with VS Code
作者:zachcodes
過去幾天,為了在開發 GraphQL / React 應用時能獲得一個更好的工作體驗,我開始使用 Visual Studio Code 和 TypeScript 。在對比我最近幾個月所用的開發工具后,我發現了一些驚人的東西。如果你將所有的開發工作切換到 VS Code ,在保存文件之前,你會被捕獲的錯誤提示數量震撼!
ESLint + GraphQL!這是我開發生涯遇到的最大的黑科技。永遠不停止使用 GraphQL 。感謝 apollo-codegen ,您可以從 GraphQL schema 生成客戶端的 types !看起來像這樣:
// 這個文件是自動生成的,不應該被編輯 export type announcementsQuery = { // Daily announcements announcements: Array<{ title: string; } | null> | null; }; /* tslint:enable */
它只會生成實際使用的查詢的 types ,而不會生成前端未使用的 types 。
好像那還不夠酷炫,我們可以進一步。使用graphql模式轉儲,我們可以在使用 eslint-plugin-graphql 提示編寫 graphql 查詢時的 eslint 錯誤。當你在查詢中輸入字段時,會發生這種情況!
正如上一個例子中提到的,靜態類型非常的棒。這里不羅列 TypeScript 所有的功能,只給你展示實施所需的3步及它如何有用。
1. 將 .js 文件重命名為 .tsx 2. 添加一些 interfaces 3. 使用這些 interfaces
這里有一個例子:
interface MessageProps { name: string; } export default ({ name }: MessageProps) => (Say hello to {name}
);
現在任何時候我導入這個組件,如果我不傳入 name ,或者 name 不是一個字符串,或者通過其他 props ,都會收到一個錯誤。如果你用了
props ,在很長一段時間之后重構代碼,或者有新的開發者進入,這將非常有用。VS Code 還允許您從任何地方右鍵單擊并查看類型定義。我最喜歡的其他功能是在 TypeScript 配置中啟用 noUnusedLocals
和 noUnusedParameters 。 VS Code 將警告未使用的代碼。
使用 prettier, eslint,和 jest 非常有用。有時一個團隊成員會對我的應用做一個小小的貢獻,但沒有和我一樣的開發工具。當它們提交時,代碼仍然會被格式化并檢查是否出現了 linting 錯誤。這就是我如何做到的。
把它添加到你的 package.json
"lint-staged": { "*.test.tsx": [ "jest" ], "*.{js,tsx,ts}": [ "prettier --single-quote --trailing-comma es5 --write", "eslint", "git add" ] },
然后執行:
npm install lint-staged husky --save-dev
就是這樣,當相應的 types 文件被提交時,這些東西就會運行。如果產生失敗,它不會讓你提交 commit 。
調試設置VS代碼有一個非常酷的啟動配置,讓你通過按下按鈕啟動應用程序。不再需要使用 npm start 開啟服務器,創建應用程序,并打開瀏覽器。我們可以把所有這一切放到一個文件中,并通過一個按鈕按下來啟動它。除此之外,我們可以在編輯器中設置斷點,任何控制臺錯誤將直接跳到我們的代碼中,并顯示錯誤!這是一個我使用的示例配置:
{ "version": "0.2.0", "configurations": [ { "name": "Server", "type": "node", "request": "launch", "program": "${workspaceRoot}/node_modules/.bin/webpack-dev-server", "args": ["--hot", "--inline", "--config", "config/dev.config.js"], "outFiles": ["${workspaceRoot}/build/*"], "stopOnEntry": false, "cwd": "${workspaceRoot}", "env": { "NODE_ENV": "development" }, "console": "internalConsole", "sourceMaps": true }, { "name": "Browser", "type": "chrome", "request": "launch", "url": "http://localhost:8080/", "webRoot": "${workspaceRoot}/" } ], "compounds": [ { "name": "Server/Browser", "configurations": ["Server", "Browser"] } ] }
如果你像我一樣使用 webpack ,請確保devtool: "eval-source-map"在你的配置中。如果您使用 sourcemap chart 中的任何內容,斷點將不起作用,堆棧跟蹤將轉到代碼中錯誤的位置。
添加啟動配置(在 這里 閱讀更多的功能)只需打開調試器選項卡并點擊開始!
結論想象一個新的開發人員加入你的團隊。你現在有這么多很棒的東西,他們可以立即啟動和運行。下載 VS Code ,點擊啟動調試器,應用程序立即運行。想要更改顯示的一些數據?讓他們編輯一個 GraphQL query ,會立即被告知該變量是否在 GraphQL schema 中。讓他們使用你為列表項制作的 React 組件,他們可以將鼠標懸停在組件上,看看它需要什么 props 。嘗試使用別的東西,立即出現錯誤。現在他們已經準備好提交 commit 了....它是否破壞了有些東西?在 commit 前,會進行 linting 檢測和自動化測試!我希望這篇文章幫到一些人。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88945.html
摘要:當你處于文件管理器中,你可以像在的中那樣用相同的快捷鍵進行常規操作,比如用方向鍵導航用鍵給文件或文件夾重命名用打開當前文件等。 原文地址:Tips to use VSCode more efficiently 原文作者:sudolabs 譯文出自:掘金翻譯計劃 本文永久鏈接:github.com/xitu/gold-m… 譯者:Baddyo 校對者:xionglong58, hzdaqo ...
摘要:譯文地址譯唯快不破應用的個優化步驟前端的逆襲知乎專欄原文地址時過境遷,應用比以往任何時候都更具交互性。使用負載均衡方案我們在之前討論緩存的時候簡要提到了內容分發網絡。換句話說,元素的串形訪問會削弱負載均衡器以最佳形式 歡迎關注知乎專欄 —— 前端的逆襲歡迎關注我的博客,知乎,GitHub。 譯文地址:【譯】唯快不破:Web 應用的 13 個優化步驟 - 前端的逆襲 - 知乎專欄原文地...
摘要:前端日報精選任何網站都可以變成但我們需要做得更好譯高性能個新工具加速你的應用在生產環境中使用記錄日志手把手教你用開發一個發布中文譯繼承實例譯基于背后的合理化,而非設計掘金實現哪家強中的眾成翻譯快速入門個人文章一個基于區塊鏈的深網 2017-07-22 前端日報 精選 任何網站都可以變成 PWA —— 但我們需要做得更好[譯] 高性能 React:3 個新工具加速你的應用在生產環境中使用...
摘要:前端日報精選數組所有全解密原生實現最簡單的圖片懶加載譯如何抓取數據中種常見的內存泄露陷阱內部原理,第一部分基礎渲染前端國際化中文深入理解筆記模塊掘金譯熱的冷的掘金模塊,桌面端的支付請求,和迷津欲有問遮罩層狀態丟失及解決方案全 2017-08-20 前端日報 精選 JavaScript數組所有API全解密原生JS實現最簡單的圖片懶加載【譯】React如何抓取數據JavaScript 中 ...
閱讀 2263·2021-09-30 09:48
閱讀 3633·2021-09-24 10:27
閱讀 1790·2021-09-22 15:32
閱讀 2025·2021-08-09 13:44
閱讀 3575·2019-08-30 15:55
閱讀 1044·2019-08-29 17:12
閱讀 2000·2019-08-29 17:05
閱讀 2917·2019-08-29 13:43