【发布时间】:2017-05-08 13:13:52
【问题描述】:
背景
- JavaScript 在调用 topojson.feature(topology, object) 时失败。那是 topojson-client 的文档,看起来是在 topojson 到 2.x 时添加的,但在我使用的版本 1.6.26 中是相同的想法。
- 使用 webpack 构建 JS 用于生产,使用 webpack-dev-server 构建本地开发。
- 直到最近才正常工作。
问题
relevant_page.js:705 Uncaught TypeError: Cannot read property 'feature' of undefined
代码
package.json:
...
"dependencies": {
...
"topojson": "^1.6.26",
relevant_page.js:
import topojson from topojson;
...
function ready(data) {
var topojsonStates = topojson.feature(us, us.objects.states).features;
疑难解答
我在浏览器中抛出错误的那一行设置了一个断点:
var topojsonStates = _topojson2.default.feature(us, us.objects.states).features;
并检查了这些以了解发生了什么:
us: Object
...
type: "Topology"
us.objects.states: Object
...
type: "Topology"
_topojson2.default: undefined
_topojson2.feature(us, us.objects.states).features: Array[53]
_topojson2.default 未定义(_topojson2.feature 有效)这一事实让我停下来,但我不确定那里发生了什么。有什么想法吗?
笔记/更新
这与how to consume an npm package with ES6 module via webpack 不同,因为如果您必须继续处理的主要事情是未捕获的类型错误,则无法回答该问题和答案。让我知道我是否应该在问题或答案中添加任何内容以使其更有用和更易于搜索。
【问题讨论】:
标签: javascript npm webpack ecmascript-6 topojson