connect-s3
v0.3.0
Published
Connect middleware to serve static content from Amazon S3
Downloads
27
Readme
connect-s3
Connect middleware for serving static content from Amazon S3.
Installation
Run npm install connect-s3 --save
to install the module locally and add an
entry to your project's package.json
file.
Use
To use with Amazon S3, set your bucket up as a website in the AWS Console. You should see the URL to use for website functionality, which will include your bucket name and region.
var connect = require('connect');
var s3 = require('connect-s3');
var app = connect()
.use(s3({
pathPrefix: '/web',
remotePrefix: 'http://some-bucket.s3-website-us-east-1.amazonaws.com/somepath'
}))
.listen(process.env.PORT || 3000);
Test
Install dependencies and dev dependencies with npm install
. The Makefile also
uses Foreman to run Mocha with environment variables set. To run the tests,
create a file called test.env
specifying the ports to use for the test
servers. For example, you might have the following.
PROXY_PORT=3100
SERVER_PORT=3101
Then run make
.
Why?
I've run across Connect middleware for serving local static content, which sounds pretty handy. But if you deploy your app to Heroku, then local static content is not a great idea. Now you can host your static content on S3 and either use Heroku as a simple web server (handy but hacky) or integate the static content with other server-side functionality (avoiding potential cross-origin issues of a separately-hosted site).