I find the section on application structure in the official documentation quite confusing for me. It first says
The only server assets are JavaScript and files in the private subdirectory.
but then immediately
Meteor gathers all your JavaScript files, excluding anything under the client, public, and private subdirectories...
and later
Meteor gathers all JavaScript files in your tree, with the exception of the server, public, and private subdirectories, for the client...
and
Files outside the client, server and tests subdirectories are loaded on both the client and the server!
These seem contradicting for me. For example what if I put some JavaScript files in private
, will they be gathered by Meteor? By 1 and 3, yes and to the server only; by 2, no; by 4, yes and to both server and client.
One possible explanation is that the set "JavaScript files" is not a subset of the set "files", which is not logically sound. I know this answer has provided a clear table for the structure and I may ultimately resort to that. But I still need someone to clearify the ambiguity of this part in the official documentation. Thank you.