Dub - vibe.d - hunt framework ... problems
zoujiaqing
zoujiaqing at gmail.com
Thu Feb 6 10:28:01 UTC 2020
On Saturday, 1 February 2020 at 10:35:52 UTC, seany wrote:
> Hi
> I want to start a small server, that will be accessible form
> outside. Not a huge deal right?
> Not quite.
>
> My machine: 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09
> UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
>
> DMD : DMD64 D Compiler v2.090.0
> Copyright (C) 1999-2019 by The D Language Foundation, All
> Rights Reserved written by Walter Bright
>
>
> Now, I try to install dub from the official repo.
> Then I do
>
> * dub init server -t vibe.d
> * cd server
> * dub
>
> I hit this issue : https://github.com/dlang/dub/issues/1712
>
> As suggested, i try to build dub from github, following:
> https://github.com/dlang/dub/releases
>
> I call ./build.d - and everything stops, and machine crashes.
>
> I then try to install DaNode:
> https://github.com/DannyArends/DaNode
>
> It breaks with : module std.algorithm import 'mean' not found
>
> Then I try to install the Hunt Framework. It breaks with :
> basic type
> expected, not foreach
>
>
> Please help. I really want this issue to be resolved-
## 1. For simple server you can using hunt-http library.
Sample code:
```
import hunt.http;
void main()
{
HttpServer server = HttpServer.builder()
.setListener(8080, "0.0.0.0")
.onPost("/", (RoutingContext context) {
context.end("Hello World!");
})
.onGet("/user/:name", (RoutingContext ctx) {
string name = ctx.getRouterParameter("name");
ctx.write("Hello " ~ name);
ctx.end();
})
.build();
server.start();
}
```
## 2. For full server, you can using hunt-skeleton
(hunt-framework based):
```bash
git clone https://github.com/huntlabs/hunt-skeleton.git myproject/
cd myproject/
dub run -v
```
You can Add pages in `config/routes` , like this:
```
GET / index.index
GET /user/{name} user.detail
```
Add Controller file `controller/UserController.d` :
```
module app.controller.UserController;
import hunt.framework;
class UserController : Controller
{
mixin MakeController;
@Action
string detail(string name)
{
return "Hello " ~ name;
}
}
```
Build and run it:
```
cd myproject/
dub run -v
```
You can see it in the borwser:
```
http://localhost:8080
```
More information about the Digitalmars-d-learn
mailing list