配置
名称 |
类型 |
说明 |
默认值 |
示例 |
port |
string |
服务器端口这只 |
9000 |
|
root |
string |
服务器根目录 |
__dirname |
|
engine |
object |
模版渲染引擎,对象里必须包含render 方法(async函数),方法返回展示的字符串。render方法有两个参数,第一个是模版字符串,第二个是模版接受的数据。默认使用ejs模版引擎 |
|
{render: async function(content,data){return content;}} |
templateExtension |
array |
模版的扩展名称,非模版扩展名的文件一律作为静态文件处理 |
[''.html] |
|
templateData |
objet |
模版对应的数据 |
|
{'/page/index.html':{title: '哈哈哈哈'},'/page/index.html':async function(ctx) {return {title: "嘿嘿嘿嘿"}}} |
routerData |
object |
请求路由数据 |
|
{'/getData':{method:'post',data: async function(param, store, ctx){return param}}} |
proxy |
object |
代理配置 |
|
{'/api':{target:'http://127.0.0.1:9888', pathRewrite: {'/api':''}}} |
store |
array |
数据持久化配置 |
|
[{basePath:__dirname,jsonFile:'data.json'}] |
https |
Boolean |
开启https |
false |
- |
// 使用方法
const PServer = require('dono-server');
const p = new PServer({
// 端口
port: '9001',
// 服务器根目录
root: __dirname,
// 渲染引擎,默认是ejs,否则的话,给个带有render方法的对象
engine: {
render: async function(content, data) {
return content;
}
},
// 模版扩展名,非此扩展名的,一律认为是静态文件
templateExtension: ['.html'],
// 模版路径对应模版内的数据
templateData: {
'/page/index.html': {
title: '哈哈哈哈'
},
'/page/index2.html': async (ctx) => {
return {
title: '嘿嘿嘿嘿'
};
}
},
// 路径-数据配置
routerData: {
'/getData': {
method: 'post',
data: async function(param, store) {
return param
}
},
'/a.html': {
method: 'get',
data: async function(param, store, ctx) {
await ctx.render('page/index.html');
}
}
},
// 代理请求
proxy: {
'/api': {
target: 'http://39.98.40.201:8080/',
pathRewrite: {
'/api': ''
}
}
},
// 数据持久化
store: [{
basePath: __dirname,
jsonFile: 'data.json'
}]
});
p.store.data.set({
abc: 'abc'
});