1

我正在阅读在线书籍Meteor Testing并且有点担心它说你应该如何构建你的应用程序。它说要在名为“App”的全局命名空间中创建一个对象,并根据需要附加子模块,如下所示:

App = {
    Services: {
        func1: [some function]
        func2: [some function]
        ...
    },
    Collections: {
        func1: [some function]
        func2: [some function]
        ...
    }
    ...
}

我的担忧是:

  1. 这会对我的应用程序的安全性产生负面影响吗?
  2. 我应该在 app 命名空间中何时何地定义函数?将它们全部添加到一个地方很快就会让人不知所措。
  3. 我应该为我想要单元测试的所有功能执行此操作吗?如果没有,我如何访问我在模板的 javascript 文件范围内定义的函数?

如果你们中的任何人可以向我指出有关流星测试的其他资源,我很想看看其他人的建议。谢谢。

4

1 回答 1

2

您可以将所有函数的定义分散在不同的文件中,但显然加载顺序很重要。我建议为您的项目创建一个 Meteor 包,该包将定义所有这些函数和所需的其他全局变量,然后是api.export('App')or api.export('App', 'client')(取决于您的需要)。

于 2015-11-14T19:59:44.120 回答