eslint问题

来源:7-8 配置 ESLint 并使用 Apollo 创建 GraphQL Service(中)

入门级全栈专家

2023-07-27

为什么eslint必须是.cjs后缀和commonjs规范
为什么用.js后缀和export default 不行?

写回答

1回答

黑石

2023-07-29

eslint 不是必须使用 cjs 和 commonjs 规范的,是因为我们使用 vite 初始化的项目,在 package.json 里有 type 属性,他的值为 module 代表是 commonjs 的规范,所以才需要用 cjs。

https://img.mukewang.com/szimg/64c3edeb09c7426306580456.jpg

这一点你可以通过把 .eslintrc.cjs 改成 .eslintrc.js 以后,eslint output 会报错如下:

https://img.mukewang.com/szimg/64c3ede009c48cc926640245.jpg

如果删掉 type:module 就可以用  .js 了。

export default 是 ESM 的语法,eslint 也是支持的,只不过需要 type 设置为 module,同时文件名改为 .mjs

0
2
黑石
回复
暮雩
commonjs和esm都要设置 type为module
2023-08-12
共2条回复

React18+TS+NestJS+GraphQL 全栈开发在线教育平台

平台级应用+流行全栈技术+实用职场技巧&面试策略 助你升职加薪

439 学习 · 242 问题

查看课程