Axios „Import-Anweisung kann nicht außerhalb des Moduls verwendet werden'
P粉439804514
P粉439804514 2023-10-19 19:34:18
0
1
676

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粉439804514
P粉439804514

Antworte allen(1)
P粉419164700

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

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

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!