首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置ESLint,使其不允许默认导出

如何配置ESLint,使其不允许默认导出
EN

Stack Overflow用户
提问于 2017-06-05 22:03:25
回答 3查看 7.6K关注 0票数 9

我已经在网络和StackOverflow搜索了很长一段时间,但没有成功。

我要做的是让ESLint将以下标记为错误:

代码语言:javascript
复制
export default ...;

default是这里的关键。到目前为止,我得到的最好的参考是eslint-plugin-import插件及其一些规则,这些规则可以使我更接近目标,即不匿名-默认-导出规则。但是,即使有了这条规则,下列默认导出仍然有效:

代码语言:javascript
复制
const foo = 123
export default foo

export default class MyClass() {}

export default function foo() {}

我如何配置ESLint,使这四个也会被认为是错误?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-04 16:44:42

如果您已经在使用eslint-plugin-import,则可以使用no-default-export规则(该规则是在2018年2月左右添加的)。

票数 8
EN

Stack Overflow用户

发布于 2017-06-06 19:14:19

您可以使用规则来完成这个任务。尝试在演示中粘贴它以尝试它(在选项中首先需要将"Source“更改为"module”):

代码语言:javascript
复制
/* eslint "no-restricted-syntax": ["error", {
    "selector": "ExportDefaultDeclaration",
    "message": "Prefer named exports"
  }] */
export default class Foo { } // 5:1 - Prefer named exports (no-restricted-syntax)
票数 18
EN

Stack Overflow用户

发布于 2022-08-24 09:23:02

由于它已经在接受的答案中得到了回答,值得一提的是在Next.js项目中工作时,我喜欢这样做:

代码语言:javascript
复制
'import/no-default-export': 'error',
overrides: [
  {
    files: ['src/pages/**/*'],
    rules: {
      'import/no-default-export': 'off',
    },
  },
],

其中唯一的异常是路由页,这些页面必须在Next.js中默认导出。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44378395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档