这里是sletjs结合模板引擎+上传的示例
基于https://github.com/sletjs/example-view,所以view相关不在解释
$ npm i -S slet
$ npm i -S slet-viewcontroller
$ npm i -S nunjucks
$ npm i -S slet-uploadviewcontroller
'use strict';
const Slet = require('slet');
const app = new Slet({
root: __dirname,
debug: true,
// upload: { dest: './uploads/'}
});
// slet@1.0.8之后可选,会自动注入依赖
// app.defineController(require('slet-viewcontroller'))
// app.defineController(require('slet-uploadviewcontroller'))
app.router('/', ('./viewctrl') )
app.router('/upload', ('./uploadctrl') )
app.start(3000)
注意:如果想配置upload选项,可以跟multer来配置。
'use strict';
const UploadViewController = require('slet').UploadViewController
module.exports = class MyUploadController extends UploadViewController {
constructor(app, ctx, next) {
super(app, ctx, next)
this.post_filter = [this.upload.single('avatar')]
}
post() {
return {
tpl: 'index',
data: {
title: 'this a upload view'
}
}
}
}
如果通过this.renderType = 'default'
也可以实现UploadController的效果
最后,执行app.js,启动server
$ node app.js
打开postman