![](/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.