eslint-plugin-fancy-mini
eslint plugin for fancy-mini lib.
Installation
npm install --save-dev eslint-plugin-fancy-mini
Usage
开启eslint(wepy项目)
- 根目录/wepy.config.js 中设置:
eslint: true
- 根目录/.eslintrc.js 中
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
sourceType: 'module'
},
env: {
browser: true
},
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
// extends: 'standard', //注掉使用标准规则集,此时,所有内置lint规则均默认关闭
// required to lint *.wpy files
plugins: [
'html', //保留html插件,否则eslint会在<template>部分报错
'fancy-mini' //引入自定义lint插件
],
settings: {
'html/html-extensions': ['.html', '.wpy'] //将.wpy加入html后缀,避免其中的DOM部分和css部分被当成js解析
},
// add your custom rules here
'rules': {
'fancy-mini/navigate-wxapi': 'error', //配置自定义规则的警告级别:'error', 'warn', 'off'
'fancy-mini/navigate-onunload': 'error',
}
}
禁用规则
- 全局禁用
可在.eslintrc.js中配置自定义规则的级别:'error'-报错, 'warn'-警告, 'off'-关闭,参见上文。 - 局部禁用
如上例所示,可以使用注释对下一行代码禁用指定规则。更多配置方式参见:eslint 文档。
// eslint-disable-next-line fancy-mini/navigate-wxapi wx.navigateTo({ //对此行代码不进行规则"fancy-mini/navigate-wxapi"的检查 url: url })
添加规则
- 在lib/rules新建js文件,文件名即为规则名
- 编写规则,格式参见现有规则文件 或 eslint api
- 修改package.json中version字段,增大版本号并发布
- 项目中更新插件版本
- 新规则开始生效
Supported Rules
- fancy-mini/navigate-wxapi 无限层级路由策略——所有页面跳转统一使用自定义模块提供的api,而不直接调用wx/wepy提供的路由接口
- fancy-mini/navigate-onunload
无限层级路由策略——所有页面若有自定义onUnload函数,需在函数中执行父类相应钩子: super.onUnload && super.onUnload()