I agree with your observations. I have found the following setup that seems to meet your requirements and I think works very well (I don't have a template), I would suggest the following:
- Create an empty WebApi2 project and adopt authentication/authorization depicted here
- Use a regular
index.html
in the base directory as a launching point for your angular application. You can either maintain your client packages with nuget, npm, or bower. - Use whatever technique you like for organization of client code.
Personally, I would create 3 projects, One for client code, (mydomain.com) One for your api (api.mydomain.com) and one for your Model/Repository/Data Access layer.
update Here is an open-source project that might be what you're looking for!