我问的原因是我喜欢把我的项目分成组件而且使用Meteor我猜这将意味着某些事情:
└── app
└── apps
├── .meteor
├── blog
│ ├── client
│ ├── lib
│ └── server
├── faqs
│ ├── client
│ ├── lib
│ └── server
└── people
├── client
├── lib
└── server
或者是我唯一的选择:
└── app
├── .meteor
├── client
│ └── apps
│ ├── block
│ ├── faqs
│ └── people
├── lib
│ └── apps
│ ├── block
│ ├── faqs
│ └── people
└── server
└── apps
├── block
├── faqs
└── people
答案 0 :(得分:2)
在Official doucmentation中,您可以看到构建应用的不同方式。
方法1:根级文件夹
apples/lib/ # code for apple-related features
apples/client/
apples/server/
oranges/lib/ # code for orange-related features
oranges/client/
oranges/server/
方法2:客户端/服务器/
内的文件夹lib/apples/ # common code for apples
lib/oranges/ # and oranges
client/apples/ # client code for apples
client/oranges/ # and oranges
server/apples/ # server code for apples
server/oranges/ # and oranges
方法3:包 这是代码分离,模块化和可重用性的终极选择。如果将每个功能的代码放在一个单独的包中,则一个功能的代码将无法访问除导出之外的其他功能的代码,从而使每个依赖项都显式化。这也允许最简单的功能独立测试。您还可以发布包并使用meteor add在多个应用中使用它们。
packages/apples/package.js # files, dependencies, exports for apple feature
packages/apples/<anything>.js # file loading is controlled by package.js
packages/oranges/package.js # files, dependencies, exports for orange feature
packages/oranges/<anything>.js # file loading is controlled by package.js
答案 1 :(得分:1)
您列出的最重要的一个是完全有效的。底部没有意义(将client
文件夹放在server
文件夹中)。所以,是的,您可以通过这种方式构建应用程序,尽管很多人会建议将应用程序的功能分离到单独的包中。