The Progressive Server-side JavaScript Framework
You know HTML & CSS?
But not JavaScript?
Quickly create multilingual websites effortlessly with simple routes, views or variations.
JavaScript client-side Expert?
Ready to embrace Node.js?
Gradually improve your base as you need by using controllers, models or modules.
Already your Front-end habits?
You use Data Binding?
From Vanilla to jQuery and going through Vue, Angular or React: use your favorite tools!
The webconfig is that allows you to drive how NodeAtlas will work. If you want to use views or controllers, or if you need some variations if you want to enable PUT / DELETE HTTP request, etc. Without webconfig, NodeAtlas run in Simple Web Server. This is the complete list of parameters of a webconfig. Each is optional depends on your needs.
Object{
"assetsCopy": Boolean,
"assetsRelativePath": String<path-from-root>,
"bundles": (String<filepath-from-root> | Object{
"javascripts": Object{
... url: Array.String<filepath-from-assets>
},
"stylesheets": Object{
... url: Array.String<filepath-from-assets>
}
}),
"cache": Boolean,
"charset": String,
"controller": String<filepath-from-controllers>,
"controllersRelativePath": String<path-from-root>,
"delete": Boolean,
"engine": String,
"index": Boolean,
"get": Boolean,
"headers": Object,
"htmlGenerationBeforeResponse": Boolean,
"httpHostname": String,
"httpPort": Number,
"httpSecure": (String<filepath-from-root> | Boolean),
"httpSecureKeyRelativePath": String<filepath-from-root>,
"httpSecureCertificateRelativePath": String<filepath-from-root>,
"injectCss": (String<filepath-from-assets> | Array.String<filepath-from-assets>),
"imgOptimizationsBeforeResponse[removedFromV2.0.2]": Boolean,
"imgOptimizationsEnable[removedFromV2.0.2]": Boolean,
"jsBundlingBeforeResponse": Boolean,
"jsBundlingEnable": Boolean,
"languageCode": String,
"less": (Boolean | Object{
"autoprefix": Boolean,
"compress": Boolean,
"files": (String<filepath-from-root> | Array.String<filepath-from-assets>),
"paths": Array.String<path-from-assets>,
"sourceMap": Boolean
}),
"middlewares": (String<filepath-from-middlewares> | Array.String<filepath-from-middlewares>),
"middlewaresRelativePath": String<path-from-root>,
"mimeType": String,
"optimizations[removedFromV2.0.2]": (String<filepath-from-root> | Object{
"gif": Object,
"images": Object{
... url: String<filepath-from-assets>
},
"jpg": Object,
"png": Object,
"svg": Object
},
"options": Boolean,
"output": Boolean,
"post": Boolean,
"pug": Boolean,
"put": Boolean,
"routes": (String<filepath-from-root> | Object{
... "(String</url> | String<key>)": String<filepath-from-views> | NA<routeParameter>)
} | Array.NA<routeParameter>,
"serverlessRelativePath": String<path-from-root>,
"session": Object,
"staticOptions": Object<from-express-statics-options>,
"statics": String<filepath-from-root> | Object{
... /virtual: (String<path-from-root> | Object{
"path": String<path-from-root>,
"staticOptions": Object<from-express-statics-options>
})
} | Array.Object{
"path": String<path-from-root>,
"staticOptions": Object<from-express-statics-options>,
"virtual": String<urlpath-from-base>
},
"cssBundlingBeforeResponse": Boolean,
"cssBundlingEnable": Boolean,
"socketClientFile": String<urlpath-from-base>,
"socketServerOptions": Object<from-socketio-server-options>,
"stylus": (Boolean | Object{
"autoprefix": Boolean,
"compress": Boolean,
"files": (String<filepath-from-root> | Array.String<filepath-from-assets>),
"paths": Array.String<path-from-assets>,
"sourceMap": Boolean,
}),
"templateEngineDelimiter": String,
"urlHostname": String,
"urlPort": Number,
"urlRelativeSubPath": String<urlpath-from-root>,
"variation": String<filepath-from-variations>,
"variationsRelativePath": String<path-from-root>,
"version": String<xx.xx.xx>,
"view": String<filepath-from-views>,
"viewsRelativePath": String<path-from-root>
}
Object{
"charset": String,
"controller": String<filepath-from-controllers>,
"delete": Boolean,
"get": Boolean,
"headers": Object,
"injectCss": (String<filepath-from-assets> | Array.String<filepath-from-assets>),
"key": String,
"middlewares": (String<filepath-from-middlewares> | Array.String<filepath-from-middlewares>),
"mimeType": String,
"options": Boolean,
"output": (String<filepath-into-serverless> | Boolean<false>),
"post": Boolean,
"put": Boolean,
"redirect": (String<urlpath-from-base | url>),
"statusCode": Number,
"url": String<urlpath-from-base>,
"variation": String<filepath-from-variations>,
"view": String<filepath-from-views>
}