在我的 node.js (express.js) 项目中,我尝试包装 axios 以创建这样的 HttpClient:
import axios from 'axios';
const httpClient = axios.create({ baseURL: 'http://locahost:3003' });
...
export const httpClient = {
...
};
当我运行它时,我收到错误 SyntaxError: Cannot use import statement outside a module
,它抱怨行 import axios from 'axios'
。我怎样才能摆脱这个错误? (我来自 React-native 世界,我在 React-Native 中用过同样的东西,很好)
答案 0 :(得分:1)
问题是默认 express 使用 CJS 格式的导入,正如您可能已经看到的 const axios = require("axios")
。
您尝试做的是一种 ESM 格式的导入,JS 无法将其理解为本机格式。要使用 import 语句,您可以将以下属性添加到 package.json 文件 - "type": "module"
或者您可以使用“.mjs”扩展名而不是默认的“.js”扩展名。 >
希望这 link 有助于进一步。