Javascript Meteor服务器端js兼容性

Javascript Meteor服务器端js兼容性,javascript,meteor,Javascript,Meteor,如何在服务器端实现与客户端/兼容性文件夹在客户端提供的功能相同的功能 我有很多包含旧js函数的文件,这些函数定义为: 函数functionName(){…} 我需要从新的服务器端Meteor代码访问这些文件,但因为它们位于不同的文件中,Meteor为每个文件提供了自己的namspace,所以它们不在范围内 我可以通过将声明更改为: functionName=function(){…} 但这是不切实际的,因为我不拥有或维护js函数 为了防止在客户端进行这种包装,可以将js文件放在client/co

如何在服务器端实现与客户端/兼容性文件夹在客户端提供的功能相同的功能

我有很多包含旧js函数的文件,这些函数定义为:

函数functionName(){…}

我需要从新的服务器端Meteor代码访问这些文件,但因为它们位于不同的文件中,Meteor为每个文件提供了自己的namspace,所以它们不在范围内

我可以通过将声明更改为:

functionName=function(){…}

但这是不切实际的,因为我不拥有或维护js函数

为了防止在客户端进行这种包装,可以将js文件放在client/compatibility文件夹中。如何防止这种服务器端包装?服务器/兼容性似乎不起作用。创建包和使用
api.export()

默认情况下,meteor会包装每个js文件,为其提供自己的名称空间

那不准确。如果制作一个文件
/client/lib/something.js
,并将其放入其中:

GlobalObject = {};
然后整个项目都可以访问
GlobalObject

你能把你的问题修改得更具体些吗?你到底想达到什么目的?你能发一些代码吗

默认情况下,meteor会包装每个js文件,为其提供自己的名称空间

那不准确。如果制作一个文件
/client/lib/something.js
,并将其放入其中:

GlobalObject = {};
然后整个项目都可以访问
GlobalObject


你能把你的问题修改得更具体些吗?你到底想达到什么目的?你能发布一些代码吗?

你是在问“如何在服务器上使函数全局化”?如何使文件中的所有函数全局化。我可以使用
funcName=function(){…}
语法编辑每个函数,但如果我能帮上忙,我不想更改文件。如果你不想修改文件,然后需要创建一个包并公开必要的方法。该过程的细节可能因输入源而异。您试图包装的库是什么?我确实尝试过为库文件创建一个包。然而,
api.export()
要求函数“声明时不带var”,但是
function x(){}
只是JavaScript中
var x=function x(){}
的简写,因此它仍然不起作用。这与未打包文件的问题相同。您是否在问“如何在服务器上使函数全局化”?如何使文件中的所有函数全局化。我可以编辑每个函数以使用
funcName=function(){…}
语法,但如果有帮助,我不想更改文件。如果您不想修改文件,然后需要创建一个包并公开必要的方法。该过程的细节可能因输入源而异。您试图包装的库是什么?我确实尝试过为库文件创建一个包。然而,
api.export()
要求函数“声明时不带var”,但是
function x(){}
只是JavaScript中
var x=function x(){}
的简写,因此它仍然不起作用。这与我在解包文件中遇到的问题相同。即使强制创建全局对象,它仍然被包装在自己的命名空间中。我已按要求更新了我的问题。即使您强制创建全局对象,它仍然包装在自己的命名空间中。我已按要求更新了我的问题。