suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Axios „Import-Anweisung kann nicht außerhalb des Moduls verwendet werden“

Ich habe eine Vue.js-Anwendung mit zwei Dateien, die Folgendes enthalten:

从“axios”Axios importieren

Diese Dateien befinden sich in src/lib innerhalb der Anwendung und enthalten die Importanweisung in der ersten Zeile.

Egal, was package.json sagt, führt die Ausführung der Tests auf Github zur Installation von Axios 1.0.0, und jetzt schlagen alle Tests, die diese Dateien betreffen, mit dem oben genannten Fehler fehl.

Das Ändern der

-Anweisung in const axios = require("axios") schlägt ebenfalls fehl; node_modules/axios/index.js enthält eine Importanweisung in Zeile 1 und löst dort eine Ausnahme aus.

Ein Vorschlag, den ich bei dieser Art von Problem oft sehe, ist die Verwendung von "type": "module" 添加到 package.json (与 src/ 处于同一级别)。这会导致所有测试失败,并要求将 vue.config.js 重命名为 vue.config.cjs。这样做让我感到困惑: 错误:您似乎正在使用本机 ECMAScript 模块配置文件,该文件仅在异步运行 Babel 时受支持 , was ich nicht verstehe.

Kann jemand vorschlagen, was hier zu tun ist?

P粉439804514P粉439804514412 Tage vor809

Antworte allen(1)Ich werde antworten

  • P粉419164700

    P粉4191647002023-10-20 15:50:04

    我能够通过添加强制 jest 导入 commonjs axios 构建来修复此错误

      "jest": {
        "moduleNameMapper": {
          "axios": "axios/dist/node/axios.cjs"
        }
      },
    

    到我的package.json。使用 transformIgnorePatterns 的其他解决方案对我不起作用。

    Antwort
    0
  • StornierenAntwort