Lodash中_.range提示‘range is not a function’错误的排查求助
问题原因与解决办法
这个问题我之前也碰到过,大概率是你引入的Lodash版本不对——你用的应该是Lodash的核心精简版,而不是完整的全量库!
为什么会出现这个差异?
_.map是Lodash的核心迭代函数,属于核心精简版默认包含的功能,所以能正常运行。_.range属于额外的工具函数,核心精简版并没有打包这个方法,所以会抛出range is not a function的报错。
快速解决办法
把你在JSFiddle里的Lodash CDN链接替换成完整的全量Lodash库,比如使用指定稳定版本的链接:
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>
替换后,你的代码就能正常运行了:
console.log(_); console.log(_.range(1, 10)); // 现在会输出 [1, 2, 3, 4, 5, 6, 7, 8, 9] _.map([1,2,3], (o) => console.log(o)); // 依然正常输出1、2、3
额外说明
如果你想按需加载减少体积,也可以单独引入lodash.range模块,但在JSFiddle这种快速调试场景下,直接使用全量库会更省心。
内容的提问来源于stack exchange,提问作者user9728810
相关产品推荐
相关产品推荐

