我正在尝试开发一个小型 Spotify 应用程序,但有一些问题。我有一个对象Foo
,我想保存在一个单独的文件中,并在我的主文件中需要。然后在我的主文件中,我想创建这样的对象:var baz = new Foo(some, arguments)
. 但我无法让它工作。
我正在使用 API 的 1.0 版本,而 Spotify 以某种形式使用 requirejs,对吗?
示例:https ://github.com/spotify/apps-tutorial/blob/1.0/js/tutorial.js
所以,我尝试使用两个文件 foo.js 和 main.js 来做这件事。
// main.js
require([
'$api/models',
'foo'], function(models, Foo) {
var f = new Foo("hello", "world");
...
});
// foo.js
// define() doesn't work? So I tried with require again...?!
require(['$api/models'], function(models) {
function Foo(some, arg) {
this.some = some;
this.arg = arg;
}
Foo.prototype.getSome() { return this.some; }
return Foo;
});
这在执行new Foo(..)
.
这是为什么?我猜是因为我在 foo.js 中使用了 require()?那我应该用什么代替呢?
编辑:好的,看来我应该使用exports
,例如:exports.myMethod = myMethod;
但是然后我需要导出一个方法,该方法创建并返回一个 Foo 对象的实例及其所有实例方法等,对吗?