javascript - Meteor 包可以在浏览器上运行,但不能在服务器上运行

标签 javascript node.js meteor

使用Meteor包没有问题strikeout:string.js在客户端(浏览器JS控制台),但在服务器端使用时会抛出错误。

已检查 package.js 并发现api.addFiles('lib/string.js', ['client','server']); ,这还不够吗?

测试代码

console.log(S('jon').capitalize().s)

服务器错误

ReferenceError: S is not defined

最佳答案

这还不够吗? ,您将获得引用,因为您不需要它。

为了在服务器上使用它,您应该需要它,在此示例中我使用 meteorhacks:npm .

我不可能创建这样的 Meteorpad,所以我将在这里逐步完成。

首先 meteor 添加meteor hacks:npm

第二在最近创建的packages.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

希望它对您有用。

关于javascript - Meteor 包可以在浏览器上运行,但不能在服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270385/

相关文章:

meteor - 抛出 Meteor.Error 未到达客户端

mongodb - 无法在 Windows 中的 Meteor 上运行 "meteor mongo"(Windows exe Bootstrap 的最新 meteor )

meteor - 在 AWS Lambda 上部署 Meteor 应用程序

javascript - NVD3.js 中的轴标签

javascript - 访问带有奇怪字符的 Json 字段

node.js - 为什么超时作为顶级中间件不好?

node.js - 是否必须安装 node.js 才能执行编译为 .exe 文件的 Electron 应用程序?

javascript - package.json 中的 `main` 和 `module` 与 `exports` 有什么区别?

javascript - jquery 的removeClass 和 addClass

javascript - Moment.js 插件我应该安装这两个依赖项吗?