npm

dono-server

1.0.10 • Public • Published

配置

名称 类型 说明 默认值 示例
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'
});

Dependents (0)

Package Sidebar

Install

npm i dono-server

Weekly Downloads

1

Version

1.0.10

License

ISC

Unpacked Size

20.8 kB

Total Files

17

Last publish

Collaborators

  • lingy