I've inherited a backbone.js project. The convention on the project seems to be to put each model, view and controller in its own file.
When I look at this tutorial, (hello backbone.js), they use the convention of having controllers and views all in the one file.
Now my feeling with JavaScript is that it will just execute whatever is in front of the reader and evaluator, no matter where it is.
My question is: Does my backbone.js project require component on a file or is that just a convention?
No, Backbone doesn't mind if each component is in a separate file or all in a single file. You're correct that JavaScript will just execute what is given to it. I'm assuming this is running in the browser and that the previous developer is somehow loading in the individual components via XHR requests (or concatenating into a big single app file as a build step?).
The only convention for handling this is the same as what would apply to any app structure of a significant size. If you have a lot of views and models (and perhaps routers!) you should split them into their own "models/" , "views/" directory structure, the same way you would with a rails app (or whatever you might use).
There certainly isn't anything inherently wrong with having all the app code within a single file if there isn't much code. It's nice and simple and doesn't require a lot of setup to load in all the components. Just keep maintenance in mind and consider those devs that might pick this up after you!
It's worth saying that having individual files can add complexity if you want to do additional optimisation via minification and concatenation but no present no problems that haven't already been solved.
You could even go a step further and add RequireJS or Browserify (or ES6 modules if you're feeling brave!) if you wanted even more modular code.