# ServerSettings Decorator alias deprecated
Module | import { ServerSettings } from "@tsed/common" |
---|---|
Source | /packages/common/src/platform-express/decorators/serverSettings.ts |
# Overview
function ServerSettings(settings?: Partial<IModuleOptions>): Function;
# Description
@ServerSettings
let you to configure quickly your server via decorator. This decorator take your configuration and merge it with the default server configuration.
The default configuration is as follow:
{
"rootDir": "path/to/root/project",
"env": "development",
"port": 8080,
"httpsPort": 8000,
"uploadDir": "${rootDir}/uploads",
"mount": {
"/rest": "${rootDir}/controllers/**/*.js"
},
"componentsScan": [
"${rootDir}/middlewares/**/*.js",
"${rootDir}/services/**/*.js",
"${rootDir}/converters/**/*.js"
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
You can customize your configuration as follow:
import {ServerLoader, ServerSettings} from "@tsed/common";
import Path = require("path");
@ServerSettings({
rootDir: Path.resolve(__dirname),
mount: {
"/rest": "${rootDir}/controllers/current/**/*.js",
"/rest/v1": [
"${rootDir}/controllers/v1/users/*.js",
"${rootDir}/controllers/v1/groups/*.js"
]
}
})
export class Server extends ServerLoader {
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- Session & cookies
- Passport.js
- TypeORM
- Mongoose
- GraphQL
- Socket.io
- Swagger
- AJV
- Multer
- Serve static files
- Templating
- Throw HTTP Exceptions
- Customize 404
- AWS
- Jest
- Seq
- Controllers
- Providers
- Model
- Converters
- Middlewares
- Pipes
- Interceptors
- Authentication
- Hooks
- Injection scopes
- Custom providers
- Custom endpoint decorator
- Testing