te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - ESLint extends vs plugins v2020 - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - ESLint extends vs plugins v2020 - Stack Overflow

programmeradmin3浏览0评论

There's answered question which in my opinion doesn't actually answers the question, on the difference between extends: [] vs plugins: [] in ESLint.

In my case, i just used extends section:

extends: [
  'plugin:@typescript-eslint/remended',
],
plugins: [],
rules: {
  '@typescript-eslint/explicit-function-return-type': [
    'error',
    {
      allowExpressions: true,
    },
  ],
}

As you can see, i just used predefined config from plugin:@typescript-eslint/remended and also overwritten @typescript-eslint/explicit-function-return-type rule in rules: {} section. But why do we need this PLUGINS section then? If everything works without it? What do i miss?

There's answered question which in my opinion doesn't actually answers the question, on the difference between extends: [] vs plugins: [] in ESLint.

In my case, i just used extends section:

extends: [
  'plugin:@typescript-eslint/remended',
],
plugins: [],
rules: {
  '@typescript-eslint/explicit-function-return-type': [
    'error',
    {
      allowExpressions: true,
    },
  ],
}

As you can see, i just used predefined config from plugin:@typescript-eslint/remended and also overwritten @typescript-eslint/explicit-function-return-type rule in rules: {} section. But why do we need this PLUGINS section then? If everything works without it? What do i miss?

Share Improve this question asked Apr 30, 2020 at 16:26 Alexander KimAlexander Kim 18.4k23 gold badges107 silver badges165 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 17

You have done it correctly.

For your example, there are 2 ways to do add typescript-eslint...

  • 1st way:
{
  parser: "@typescript-eslint/parser",
  parserOptions: { sourceType: "module" },
  plugins: ["@typescript-eslint"],
  extends: [],
  rules: {
    "@typescript-eslint/explicit-function-return-type": [
      "error",
      {
        allowExpressions: true
      }
    ]
  }
}
  • 2nd way:
{
  plugins: [],
  extends: ["plugin:@typescript-eslint/remended"],
  rules: {
    "@typescript-eslint/explicit-function-return-type": [
      "error",
      {
        allowExpressions: true
      }
    ]
  }
}

The difference is...

  • 1st way:
    • parser, parserOptions and plugins are manually added,
    • Only @typescript-eslint/explicit-function-return-type is enforced.
  • 2nd way:
    • plugin:@typescript-eslint/remended has automatically added parser, parserOptions and plugins.
    • Remended typescript rules are added and enforced.
    • @typescript-eslint/explicit-function-return-type is augmented and enforced.

This is why when you use plugin:@typescript-eslint/remended, things work normally even if plugins is empty. A well-written plugins/configs allows that to happen.

发布评论

评论列表(0)

  1. 暂无评论