【发布时间】:2017-04-19 01:17:00
【问题描述】:
我正在尝试将第三方 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');
...
}
}
我正在使用最新的流星 (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() 的任何内容?
【问题讨论】:
-
你需要做
var blog = new Blog();然后你就会有 init -blog.init() -
您正在导出一个类,而不是它的一个实例。你应该先
import Blog from '../imports/scripts/blog';然后const blog = new Blog();。
标签: javascript meteor ecmascript-6