That “index” page is a good place to obtain information from the “Visualforce” world that can be passed to the “AngularJS” world, and so is best made a Visualforce page. (See Passing platform configuration to an AngularJS app.)
But providing a clear separation has been made between server-side processing and client-side processing, no Visualforce capabilities are needed for the templates. And using Visualforce pages adds complexity such as requiring profiles to be updated. So how can the static resource timestamp value be handled if static resources are used instead?
templateUrl: '/resource/' + Date.now() + '/xyz_partial'
You can see this pattern applied in this (quite new) Salesforce AngularJS sample application created by Pat Patterson.
PS As David Esposito comments, where there are only a small number of resource references, it is arguably cleaner to not use this timestamp approach.