DADI Web, first install

EDGE Network
Edge
Published in
3 min readNov 17, 2017

Web is the front-end component within the DADI web services stack, useful when you want serve any web document — HTML, CSS, JSON & XML etc.

There are three ways to get started with Web, each for slightly different situations.

Most DADI web services require Node.js and NPM — and I’ll assume you have a basic knowledge of these.

1. DADI CLI — Least hassle

DADI CLI (Command line interface) is by far the simplest way. Once you’ve installed it, CLI will help install, update and customise all DADI Web Services.

Eduardo Bouças has covered this in a previous article, but we’ll do a quick overview again here.

Assuming you haven’t already installed the _CLI_. Run the following command in your terminal:

npm install @dadi/cli -g

This gives you a world of possibilities across our services. Run `dadi` in your terminal to see the full list.

Ok, now we can install Web. Firstly, create and/or `cd` into your project directory and run:

dadi web new

CLI will ask you some questions to automate the installation, including which template engine you would like to run.

We recommend Dust.js if this is your first time getting into Javascript-based template engines. Those familiar with ES6 will find this engine the simplest to get started.

You can learn more about template engines in our documentation.

2. NPM — Slightly more hassle, more up-front customisation

If you’re already up and running using NPM to manage dependencies you just need to install the Web package in your project:

npm i @dadi/web

As of NPM 5.0, `— save` is on by default so the package will be added to your package.json file automatically.

Sadly, you don’t quite have enough here to start the app just yet. For that you’ll need to grab the latest workspace from our registry. Or create the following files:

`server.js`

require(‘@dadi/web’)({engines:[require(‘@dadi/web-dustjs’)]})

Web comes with our Dust.js engine by default.

`/config/config.development.json`

{
“cluster”: false,
“allowJsonView”: true,
“debug”: true
}

You can check out the full configuration options in the docs.

`/workspace/pages/index.json`

{
“page”: {
“key”: “index”
}
}

`/workspace/pages/index.dust`

This page is powered by DADI Web {version}

You can now run the start command, and all being well you should have a site viewable at http://localhost:8080/

npm start

3. Download — Hackers and contributors

Using NPM keeps the nuts and bolts hidden away in your `node_modules` folder, but for some smaller self-contained projects, or if you want to contribute to the development of Web you’ll need to grab the source directly from our Github repository.

The default branch across all DADI services is `develop` where we’re busy merging in new features for the next release, but if you need stability, check out the releases page. You can also see a detailed notes for each release here.

P.S. We’ve written a complete guide to contributing to Web and we’re happy to receive new issues or pull requests :)

Assuming you’ve download a zip of the develop branch (web-develop.zip) you’ll first want to install Web’s dependencies:

cd ./web-develop
npm i

Good luck! Any questions? Find us on Discord.

Written by David Longworth, Design Director at DADI.

--

--

EDGE Network
Edge
Editor for

Peer-to-peer serverless infrastructure, powered by blockchain technology and built using the spare capacity all around us. The future of the cloud is Edge.