You can do both at the same time. Deploy your file using a .wsp to somewhere on the file system (probably inside FEATURES\MyFeatureName\ ), and then make it GhostableInLibrary.
This means that initially, though your file appears to be in a library, it's actually being served from disk - which is faster.
However, the file is in a document libary, so you can check it out and edit it, etc.. However, if you do, it is 'unghosted' - that is, the changed file is save to and served from the database. The local version on the file system will no longer be used.
This isn't a bad description:
This unghosting/ghosting of files is what happens with SharePoint designer when you customize(unghost) a page, and then reset it to the site definition (re-ghost) the page.