繁体   English   中英

创建可手动触发的 Eslint 规则

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM