meteor包在浏览器上工作,但不在服务器上
使用客户端(浏览器JS控制台)上的Meteor包装strikeout:string.js
是没有问题的,但是在服务器端使用它时会引发错误。
检查package.js
并findapi.addFiles('lib/string.js', ['client','server']);
这是不够的吗?
testing代码
console.log(S('jon').capitalize().s)
错误在服务器上
ReferenceError: S is not defined
这不够吗? 是的 ,你得到的参考,因为你不需要它。
为了在服务器上使用它,你应该要求它,在这个例子中我使用meteorhacks:npm 。
这是不可能的,我创build一个Meteorpad这个,所以我会在这里一步一步做。
首先 meteor add meteor hacks:npm
其次在最近的创buildpackages.json添加这一行
{ "string": "3.1.0" }
第三现在只需添加服务器代码。
if (Meteor.isServer) { Meteor.startup(function () { var S = Meteor.npmRequire('string'); //server side console.log(S('jon').capitalize().s) }); }
预期产出
I20150326-10:54:05.639(-5)? Jon
希望对你有效。