Le module n'est pas défini dans le projet Vue
P粉235202573
P粉235202573 2023-11-17 12:38:53
0
2
1159

Je viens de le parcourir npm init vue@latest 创建了一个新的 Vue 应用程序,如官方文档中指定的那样。然后我尝试按照 Vue 和 Vite 网站上的指南将 Tailwind 添加到我的应用程序中。但是,当打开文件 tailwind.config.js 时,我注意到 ESLint 告诉我 module 未定义,并且 module.exports La syntaxe ne fonctionne pas.

Pourquoi est-ce ? Comment puis-je le résoudre?

Edit : Le fichier .eslintrc.cjs par défaut créé par Vue ressemble à ceci :

/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution");

module.exports = {
  root: true,
  extends: [
    "plugin:vue/vue3-essential",
    "eslint:recommended",
    "@vue/eslint-config-prettier",
  ],
  parserOptions: {
    ecmaVersion: "latest",
  },
};


P粉235202573
P粉235202573

répondre à tous(2)
P粉333186285

Pensez à utiliser

  • .eslintrc.cjs
    …
      overrides: [
        {
          files: ["{vue,vite}.config.*"],
          env: {
            node: true,
          },
        },
      ],
    

et définissez l'option compilerOptions.types: ["node"] TS uniquement pour ces fichiers.



Cela pourrait ressembler à ceci :

  • .eslintrc.cjs

    /* eslint-env node */
    require("@rushstack/eslint-patch/modern-module-resolution");
    
    module.exports = {
      root: true,
      extends: [
        "plugin:vue/vue3-essential",
        "eslint:recommended",
        "@vue/eslint-config-typescript",
        "@vue/eslint-config-prettier",
      ],
      overrides: [
        {
          files: ["cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}"],
          extends: ["plugin:cypress/recommended"],
        },
        {
          files: ["{vue,vite}.config.*"],
          env: {
            node: true,
          },
        },
      ],
      parserOptions: {
        ecmaVersion: "latest",
      },
    };
  • tsconfig.config.json

    {
      "extends": "@vue/tsconfig/tsconfig.node.json",
      "include": ["vue.config.*", "vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"],
      "compilerOptions": {
        "composite": true,
        "types": ["node"]
      }
    }
    
P粉738821035

Ajoutez-le à .eslintrc.cjs

env: {
  node: true,
},

Votre fichier ressemble donc à

/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution");

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    "plugin:vue/vue3-essential",
    "eslint:recommended",
    "@vue/eslint-config-prettier",
  ],
  parserOptions: {
    ecmaVersion: "latest",
  },
};

Vous pouvez ajouter n'importe laquelle de ces valeurs

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal