什么是 eslint-plugin-ember-suave?
eslint-plugin-ember-suave是一个用于检查 Ember.js 项目中代码中常见问题的 ESLint 插件。它是基于 ember-suave 的 JavaScript 编码准则。它用于检查代码是否遵循这些准则。它可以用于提高代码质量和可读性。该插件支持 JavaScript 和 TypeScript。
安装 eslint-plugin-ember-suave
要使用此插件,需要在您的 Ember.js 项目中安装 eslint-plugin-ember-suave
和 eslint
。可以使用以下命令来安装:
- --- ------- ------ ------------------------- ----------
然后,在您的项目中创建一个 .eslintrc.js
文件,并将以下内容添加到该文件中:
-------------- - - -------- ---------------- -------- ----------------------------------- ------ - -- ------ -- --
Note: 修改 rules
来添加或修改规则。
使用 eslint-plugin-ember-suave
-- ------- ------ ------- ------------------------ ------------- ----- ----------------- - -------------------------- -- --- -- ---
这是一个典型的 Ember.js 组件文件。使用 eslint-plugin-ember-suave
检查是否符合指南:
- --- ------ ------- ------- ---- - -------- -------------- ------ -- ----- -- --- --- -- --- ----- ---- -------------------------------- --- - ---- ---- ---------------------------- -- ------ ------ --- ------ ------ ----------------------------------------- ---- - --- ------ ------ ------- -- ------ ------ --------------------------------
输出显示我们违反了三个基本模板。根据这些指南改进代码:
-- ----------- ------ ------- ------------------------ ------------- ----- ----------------- - -------------------------- -- --- -- -- ------- --- -- ------------ ----- ---------- - -- --- -- ---
通常会发现,这样做会使代码更易于阅读和理解。
规则
eslint-plugin-ember-suave
包含以下顶级规则:
ember-suave/class-property-order
: 为类属性设置顺序。ember-suave/no-const-outside-module-scope
: 在 Ember.js 组件中const
必须在模块范围内声明。ember-suave/no-direct-property-access
: 禁止直接访问此对象属性。ember-suave/no-empty-attrs
:attrs
属性不能空对象。要创建空值,可以将其设置为{}
ember-suave/no-function-prototype-extensions
: 禁止使用Function
的原型扩展。ember-suave/no-incorrect-calls-with-inline-anonymous-functions
: 避免在 JavaScript 中使用匿名函数作为参数。ember-suave/no-nested-observers
: 避免嵌套观察者。ember-suave/no-observers
: 禁止观察者。ember-suave/prefer-destructuring
: 总是使用解构。ember-suave/require-const-for-ember-properties
: 确保使用const EmberObject = Ember.Object;
来引用 Ember 命名空间。ember-suave/require-access-in-comments
: 说明为何要访问某个对象的属性。ember-suave/require-ember-super-in-init
: 在使用init()
函数时必须调用this._super()
ember-suave/require-prototype-access
: 对于对象使用prototype
时必须在对象中定义该属性。ember-suave/require-return-from-computed
: 非 setter 的计算属性必须返回值。ember-suave/require-super-in-init
: 在init()
函数内部必须调用this._super()
。ember-suave/require-uniform-access-in-computed-properties
: 在计算属性的 setter 和 getter 中使用相同的属性访问。
结论
eslint-plugin-ember-suave
插件可以帮助团队编写更高质量、更易于理解的 JavaScript 代码。这个插件支持丰富的规则,并提供了可选的配置,可以微调随时进行使用。任何团队都可以使用此插件来监测它们的代码,并融入到他们的开发过程中。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedc0c4b5cbfe1ea0611cd5