使用RequireJS引入js-big-decimal报Uncaught Script Error如何解决?
js-big-decimal 基于RequireJS的导入报错解决方案
报错原因
你遇到的404错误核心是RequireJS作为前端AMD模块加载器,默认会按照站点根路径/模块名.js的规则去请求脚本,你既没有提前配置js-big-decimal的资源映射,也没有将对应脚本放到根路径下,所以加载失败。
解决方案
方案1:使用CDN加载(无需本地部署依赖)
- 先配置RequireJS的模块路径映射:
require.config({ paths: { // 此处填写你使用的公共CDN资源地址,无需加.js后缀,加载器会自动补全 "js-big-decimal": "替换为你选用的js-big-decimal的CDN资源路径前缀" } });
- 正常调用require加载模块即可:
require(['js-big-decimal'], function(bigDecimal) { // 直接在回调中使用bigDecimal对象 console.log(bigDecimal.add('1.1', '2.2')); });
方案2:本地部署依赖到GAE项目
- 第一步:通过npm下载依赖包:
npm install js-big-decimal - 第二步:将
node_modules/js-big-decimal/dist/web/js-big-decimal.min.js文件上传到GAE项目的静态资源目录,例如/static/libs/ - 第三步:配置RequireJS路径映射指向本地资源:
require.config({ paths: { "js-big-decimal": "/static/libs/js-big-decimal.min" } });
- 第四步:和方案1一致,直接调用require加载模块使用即可
额外说明
你之前写的嵌套require的写法没有必要,直接在require的第一个参数(依赖数组)里声明要加载的模块,回调函数的参数就会对应返回模块的导出对象,不需要嵌套二次调用require。
内容的提问来源于stack exchange,提问作者Jacob F
相关产品推荐
相关产品推荐

