• Nuxt3 中使用 ESLint


    # 快速安装

    使用该命令安装的同时会给依赖、内置模块同时更新

    npx nuxi module add eslint
    

     

    安装完毕后,nuxt.config.ts 文件 和 package.json 文件 会新增代码段:

    1. # nuxt.config.ts
    2. modules: [
    3. "@nuxt/eslint"
    4. ]
    1. # package.json
    2. "devDependencies": {
    3. "@nuxt/eslint": "^0.3.13",
    4. }

     

    启动您的 Nuxt 应用程序

    1. # 启动你的nuxt3项目
    2. npm run dev

     

    一旦启动你的项目,将会在您的项目根目录下生成一个文件 -->  eslint.config.mjs , 可以根据需要对其进行自定义。

    1. # eslint.config.mjs
    2. // @ts-check
    3. import withNuxt from './.nuxt/eslint.config.mjs'
    4. export default withNuxt(
    5. // Your custom configs here
    6. )

    该模块专为新的 ESLint 平面配置格式而设计,是自 ESLint v9 以来的默认格式。

     

    # 实战演练

    这里以 Visual Studio Code 工具为例

    vscode 设置,配置项关联 eslint 插件

    1. # .vscode/settings.json
    2. {
    3. // Enable ESlint flat config support
    4. "eslint.experimental.useFlatConfig": true
    5. }

    这里可以看到 eslint 并没有激活,提示:未找到相关插件支持该选项配置。

     

    vscode安装 ESLint 扩展插件

     

    安装完成之后,配置项被激活

    初步体验一下 eslint 在 vscode 使用效果,eslint.config.mjs 内容修改如下:

    1. // @ts-check
    2. import withNuxt from './.nuxt/eslint.config.mjs'
    3. export default withNuxt(
    4. // your custom flat configs go here, for example:
    5. {
    6. files: ['**/*.vue', '**/*.ts', '**/*.tsx'],
    7. rules: {
    8. 'no-console': ["error", { allow: ["warn", "error"] }]
    9. }
    10. }
    11. )

    这段 eslint 规则 'no-console': ["error", { allow: ["warn", "error"] }] 用于控制台输出的规范。

    1. 'no-console': 这是一个eslint规则的名称,它用于检查代码中是否存在对 console 对象的直接调用。
    2. ["error", { allow: ["warn", "error"] }]: 这部分定义了规则的行为。它告诉eslint如果发现代码中有直接使用 console 对象的调用,应该如何处理。具体解释如下:

                    "error": 表示如果违反了这个规则,应该以错误 (error) 的形式进行报告,这意味着代码将无法通过eslint的验证。

                    { allow: ["warn", "error"] }: 这指定了一组允许的 console 方法。在这种情况下,允许使用 console.warn() console.error() 方法,但是除了这两个之外的其他 console 方法将会触发eslint错误。

    因此,这个eslint规则的目的是防止在代码中直接调用 console 对象的方法,以提高代码的可维护性和可读性,同时允许使用 console.warn()console.error() 方法进行调试和错误处理。

    除了 allow 参数之外,no-console 规则还有其他一些可用的参数值,包括:

    • "always": 意味着 console 对象的任何调用都将被视为一个错误。
    • "never": 完全禁止使用 console 对象的调用。
    • object: 可以指定特定的 console 方法,例如 { allow: ["log", "info"] },这将只允许使用 console.log()console.info() 方法,而其他方法将被视为错误。

    新建一个 index.vue,在

  •  

    # 实现效果 

    开发模式效果截图:

    如果你在项目构建之后使用 eslint 你可以翻阅之前的代码,检查一下是否有违规的语法,你可以以此做出优化。

    # Attribute "v-for" should go before "class".

    (译:属性“v-for”应该放在“class”之前。)

    (参:vue/attributes-order | eslint-plugin-vue

    # Require self-closing on HTML elements ().

    (译:要求HTML元素()自关闭。)

    (参:vue/attributes-order | eslint-plugin-vue


     

    # 扩展

    在你的 package.json 文件加入以下代码:

    1. {
    2. "scripts": {
    3. "lint": "eslint .",
    4. "lint:fix": "eslint . --fix"
    5. }
    6. }

    运行 npm run lint 命令以检查代码样式是否正确。

    运行 npm run lint:fix 命令自动修复代码样式问题。

    # 检查器调试

    在你的 nuxt.config.ts 开启检查器

    1. # 开启检查器
    2. devtools: { enabled: true },

     

    在浏览器打开并启动 ESLint 并查看 

    # 注意事项

    默认情况下,ESLint 模块不启用样式格式化规则。你可以直接使用Prettier。

    参阅往期:http://t.csdnimg.cn/osInl

  • 相关阅读:
    软件设计开发笔记6:基于QT的Modbus RTU从站
    JVM crashes with error=‘Cannot allocate memory‘ (errno=12)
    深度学习入门(第四天)——递归神经网络与词向量原理解读
    Elasticsearch RestHighLevelClient API 使用总结
    金仓数据库KingbaseES常用连接池配置指南
    antv/g6之交互模式mode
    【学习笔记】[ABC323G] Inversion of Tree
    Elasticsearch初探
    STL常用容器——deque容器的使用
    .net----委托和事件
  • 原文地址:https://blog.csdn.net/weixin_45687201/article/details/139283814