我正在尝试将第三方 API 集成到我的meteor.js 应用程序中。
所以我们的想法是,当在 /blog
路由上时,应用程序应该调用外部类的方法。
router.js
:
import blog from '../imports/scripts/blog';
FlowRouter('/blog', {
name: 'blog',
action: function(params) {
blog.init(); // here I get the error "init is not a function" (it's undefined)
}
});
blog.js
:
export default class Blog {
constructor(){
...
}
init() {
console.log('init blog api');
...
}
}
我正在使用最新的 Meteor (1.4.2.3) 和以下 npm 包来启用 ES2015:
"babel-cli": "^6.18.0",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-preset-es2015": "^6.18.0",
"babel-runtime": "^6.18.0",
"meteor-node-stubs": "^0.2.4",
"webpack": "^1.13.3"
我的设置中是否缺少任何无法调用 blog.init()
的内容?
最佳答案
我认为你尝试导入类(而不是类实例)。因此您无法调用方法。
将 blog.js 更改为:
class Blog {
constructor(){
...
}
init() {
console.log('init blog api');
...
}
}
export default new Blog();
关于javascript - 导入类中的方法未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40960826/