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

为什么浏览器网络面板出现两个相同js-big-decimal文件且报404

错误原因
  • 环境兼容问题:js-big-decimal 默认适配Node.js环境,代码中使用了Node专属的global全局对象,浏览器环境没有这个对象,所以会抛出global is not defined报错。
  • 重复请求与404问题:你同时在HTML中硬编码引入了js-big-decimal,又未对requireJS做模块路径配置,requireJS会默认从站点根路径请求js-big-decimal.js文件,导致两个请求同时发出,根路径下没有对应文件就返回404。
  • 导入语法错误:AMD规范下require回调的参数和前面的依赖数组是一一对应的,你不需要在回调里再二次调用require获取模块,路径写法也不符合requireJS的规则。
修复步骤
  1. 修正express静态资源配置(如果没配的话),确保node_modules下的资源可以被访问:
// 你的express入口文件中添加
app.use('/node_modules', express.static('node_modules'));
  1. 调整HTML中的引入代码,删除多余的js-big-decimal硬引入,添加requireJS配置和global polyfill:
<!-- 只保留requireJS的引入 -->
<script src="/node_modules/requirejs/require.js"></script>
<script>
// 兼容Node包的global对象
window.global = window;
// 配置requireJS模块路径
require.config({
  baseUrl: '/',
  paths: {
    // 指定js-big-decimal的浏览器适配版本路径
    'js-big-decimal': '/node_modules/js-big-decimal/dist/web/js-big-decimal.min.js'
  }
});
</script>
  1. 调整你的业务JS代码,修正导入语法:
require(['js-big-decimal'], function (bigDecimal) {
  // 直接使用回调传入的bigDecimal对象即可
  // 示例:计算两个数的和
  const result = bigDecimal.add('123.45', '67.89');
  console.log(result);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:06:04