![](/img/trans.png)
[英]What's the difference between an ESLInt plugin and an ESLInt rule? To create a customized rule, do we have to create our own plugin first?
[英]Create manually triggerable Eslint rule
在我從事的項目中,我想添加一個注釋,這將使 linter 檢測錯誤並使構建失敗。
一個用例是有時我用模擬端點替換真實端點,例如:
axios.get(MOCK_URL)
.then(function (response) {
如果我可以像這樣在此處添加 Eslint 評論以使構建失敗,那將很有用,因此模擬 URL 不會被部署:
axios.get(MOCK_URL) // Eslint: fail
.then(function (response) {
我想你問錯問題了:)
模擬應該在測試中使用,而不是在生產代碼中,因此“根據定義”這種情況永遠不會發生,除非您通過僅出於測試原因修改一些代碼來手動測試您的生產代碼,然后將其修改回來。
如果這就是你正在做的事情,我鼓勵你停止這樣做:它很容易出錯,而且是重復自己的平凡任務。 改為編寫適當的測試,這些測試可以在任何提交時使用pre-commit hook自動運行。
至於用模擬端點替換真實端點,您可以使用諸如sinon之類的庫在您的測試中動態地完成它!
更新(閱讀您的評論后):
聽起來您需要的是不同的環境:您在 prod 中進行測試,而不是擁有開發/登台環境。
如果/一旦您確實有多個環境,您可以根據其部署的環境設置應用程序的行為,而不是:
axios.get(MOCK_URL).then(function (response)...
您可以執行以下操作:
axios.get(config.url.env).then(function (response)
並將您的配置設置為在每個環境中保存 url,例如
... url: {
staging: mock_url,
production: url,
}
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.