【问题标题】:Meteor : Access to my public/lib from serverMeteor:从服务器访问我的公共/库
【发布时间】:2015-08-19 15:32:48
【问题描述】:

根据 Meteor Doc,服务器和客户端都可以访问公共 fodler。但是,如果我只需要使用 HTML 头元素来访问它,我该如何从服务器进行呢?

我制作了一个具有非常特定功能的库,我厌倦了将它们复制粘贴到我的每个服务器 .js 文件的顶部。

谁能给我小费?我在谷歌上找不到:/

谢谢你,

大卫

【问题讨论】:

  • 您不使用lib/shared 文件夹而不是public 是否有原因? public 通常保留给各种资产,而lib/shared 可以在客户端和服务器之间共享库。
  • 哦,好吧,我不知道。不过,我是否必须在服务器端声明一些代码行才能访问它?

标签: meteor


【解决方案1】:

你让你的生活变得比必要的更艰难。 任何文件夹不是称为clientserverprivatepublic 由客户端和服务器共享。只需将您共享的 .js 文件放入任何文件夹,例如 /common,它们将在客户端和服务器上都可用(加载)。

public 文件夹专门用于由服务器自动加载的资产,而是通过 HTTP 静态提供服务,类似于 express 的静态功能。这是您在客户端上需要的图像和其他资产的地方。

【讨论】:

  • 我确实像你说的那样:我把我的库放在 /common 文件夹中。但是现在,无论我从客户端还是服务器调用我的函数,我总是得到一个代码为 8 的退出,因为流星无法再找到我的函数。 ://
  • 是定义为functionname = functio(args) {..}function functionname(arg) {..}的函数。你需要使用前者。如果你这样做,它将被加载并在任何地方可用。对于后者,它仅在文件本身中可见。
  • 我最好这样使用它:function getLangLevelColor(lvl) { ... } 把它放在 /common/lib.js 上,然后放在 /lib.js 上,没有工作,我明白了同样的错误:/
  • 那是你的问题。正如我所说,这不起作用。您需要使用 functionname = function() .. 表示法。
  • 我的错,我不是英语母语人士,以为前者的意思是以前的^^
猜你喜欢
  • 2020-01-18
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多