Javascript 正在尝试创建Meteor包

Javascript 正在尝试创建Meteor包,javascript,meteor,meteorite,Javascript,Meteor,Meteorite,我一直在尝试为框架创建一个智能包。 浏览器正在加载该文件,但当我尝试访问它导出的对象时,它会显示它的未定义。我在package.js中使用以下代码: Package.describe({ summary: "SkelJS for Meteor" }); Package.on_use(function (api) { api.use('jquery', 'client'); api.add_files(['skel.js'], 'client'); api.export('sk

我一直在尝试为框架创建一个智能包。 浏览器正在加载该文件,但当我尝试访问它导出的对象时,它会显示它的
未定义。我在package.js中使用以下代码:

Package.describe({
  summary: "SkelJS for Meteor"
});

Package.on_use(function (api) {
  api.use('jquery', 'client');
  api.add_files(['skel.js'], 'client');

  api.export('skel', 'client');
});
同时尝试访问
Package.skeljs.skel
也会返回
undefined

在smart.json中,我使用:

{
  "name": "skeljs",
  "description": "SkelJS for Meteor",
  "homepage": "",
  "author": "Giles Butler  (http://giles.io)",
  "version": "0.1.0",
  "git": ""
}
我知道SkelJS已加载,因为它登录到控制台
未检测到配置,等待手动初始化
,但当我尝试运行
skel.init()
时,它返回
未定义

任何帮助或提示都将不胜感激

谢谢


Giles

您还需要修改
skel.min.js
/
skel.js

在包内变量作用域仍然适用,因此如果希望文件允许其他文件(例如
api.export的
package.js
)访问其变量,则必须删除
var
关键字

解决办法是改变:

var skel=function() ....


您还需要修改
skel.min.js
/
skel.js

在包内变量作用域仍然适用,因此如果希望文件允许其他文件(例如
api.export的
package.js
)访问其变量,则必须删除
var
关键字

解决办法是改变:

var skel=function() ....


太好了,谢谢阿克沙。我不知道你必须这么做,这是不是在文档中的某个地方,因为我一定错过了它?太好了,谢谢阿克沙。我不知道你必须这么做,这是不是在文档中的某个地方,因为我一定错过了它?