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 

希望对你有效。