Code Monkey home page Code Monkey logo

do-assets's Introduction

NPM Module to Upload Files & Auto Upload Assets for Express Applications to Digital Ocean Spaces

Do-Assets allows you to upload files from your server / http requests to Digital Ocean's Object Storage. It also automatically uploads all the files from a specified folder to DO Spaces whenever your NodeJS application starts or restarts!

Installation

$ cd your-node-app
$ npm i do-assets

In app.js add the following setup right after setup for connect-assets (if already present)

...
var asset_config = JSON.parse(
  fs.readFileSync(
    __dirname+'/config/assets_'+process.env.NODE_ENV+'.json', "utf8"
  )
);
var assets = require('connect-assets')(asset_config);
...
var doAssets = require('do-assets')({
  assetsPath: __dirname+"/public/assets", // Path of the folder to upload assets from
  folder: "assets" // name of the folder on DO Spaces
});

Now run the app with the ENV variables

$ NODE_ENV=production ACCESS_KEY_ID=<DO-ACCESS-KEY-ID> SECRET_ACCESS_KEY=<DO-SECRET-ACCESS> REGION_NAME=<DO-REGION> BUCKET_NAME=<DO-BUCKET-NAME> SERVICE_NAME=s3 node app.js

And you are done!

If you are using connect-assets, just mention the serverPath as follows:

{ 
  'servePath': 'https://<bucket-name>.<region-name>.digitaloceanspaces.com/<folder-name>/'
}

Now all the assets loaded using js, css and assetPath methods will start loading assets from DO Spaces!

Happy Coding!


License

MIT Free Software, Hell Yeah!

do-assets's People

Contributors

prcongithub avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.