You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不使用打包器的Express项目中导入axios模块报错求助

解决浏览器ES模块导入axios的报错问题

你遇到的这个错误是因为浏览器原生ES模块不支持直接通过包名(比如axios)导入npm模块,它只认相对路径(.//../)、绝对路径或者完整的URL。不想用打包器的话,有几个简单的解决办法:

方法1:用CDN的ES模块版本直接导入

把login.js里的import axios from 'axios';替换成CDN提供的ES模块地址,比如:

import axios from 'https://cdn.jsdelivr.net/npm/axios@1.6.0/+esm';

选一个稳定的axios版本即可,这样浏览器能直接从CDN加载模块,不需要依赖本地的node_modules。

方法2:复制axios的ES模块文件到静态资源目录

  1. 从项目的node_modules/axios/dist/目录里找到axios.esm.js文件
  2. 把它复制到项目的静态资源文件夹(比如public/js/)
  3. 在login.js里用相对路径导入:
// 假设login.js和axios.esm.js在同一目录下
import axios from './axios.esm.js';

顺便提下你代码里的语法问题(不影响当前报错但会导致功能异常)

  • window.setTimeout的语法错误,缺少闭合的花括号和逗号:
    window.setTimeout(() => {
      location.assign('/');
    }, 5000);
    
  • logout函数里的if判断用了赋值符号=,应该是全等判断===:
    if (res.data.status === 'success') location.reload(true);
    
  • login和logout的try代码块都缺少闭合的},导致catch无法正常关联

内容的提问来源于stack exchange,提问作者Omar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:35:26