初始化
This commit is contained in:
parent
d542070a63
commit
cd55165b67
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
18
app.js
Normal file
18
app.js
Normal file
@ -0,0 +1,18 @@
|
||||
const Koa = require("koa");
|
||||
const requter = require("./router.js");
|
||||
// console.log(requter)
|
||||
// import requter from "./bin/router"
|
||||
const app = new Koa();
|
||||
app.use(async (ctx,next)=>{
|
||||
// await next();
|
||||
ctx.response.body = {a:1};
|
||||
// next()
|
||||
console.log("执行")
|
||||
});
|
||||
|
||||
|
||||
const bodyParser = require('koa-bodyparser');
|
||||
app.use(bodyParser());
|
||||
// console.log(requter())
|
||||
app.use(requter());
|
||||
app.listen(3000);
|
10
controllers/login.js
Normal file
10
controllers/login.js
Normal file
@ -0,0 +1,10 @@
|
||||
var login = async (ctx, next) => {
|
||||
// var name = ctx.params.name;
|
||||
// ctx.response.body = `<h1>Hello, ${name}!</h1>`;
|
||||
ctx.response.body="这是login"
|
||||
next()
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
'GET /login': login
|
||||
};
|
2277
package-lock.json
generated
Normal file
2277
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
12
package.json
Normal file
12
package.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"scripts": {
|
||||
"start": "node app.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"fs": "0.0.1-security",
|
||||
"koa": "^2.10.0",
|
||||
"koa-bodyparser": "^4.2.1",
|
||||
"koa-router": "^7.4.0",
|
||||
"nunjucks": "^3.2.0"
|
||||
}
|
||||
}
|
37
router.js
Normal file
37
router.js
Normal file
@ -0,0 +1,37 @@
|
||||
const fs = require("fs")
|
||||
function addMapping(router, mapping) {
|
||||
for (var url in mapping) {
|
||||
if (url.startsWith('GET ')) {
|
||||
var path = url.substring(4);
|
||||
router.get(path, mapping[url]);
|
||||
console.log(`register URL mapping: GET ${path}`);
|
||||
} else if (url.startsWith('POST ')) {
|
||||
var path = url.substring(5);
|
||||
router.post(path, mapping[url]);
|
||||
console.log(`register URL mapping: POST ${path}`);
|
||||
} else {
|
||||
console.log(`invalid URL: ${url}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addControllers(router,controllers_dir) {
|
||||
var files = fs.readdirSync(__dirname +"/"+ controllers_dir);
|
||||
var js_files = files.filter((f) => {
|
||||
return f.endsWith('.js');
|
||||
});
|
||||
|
||||
for (var f of js_files) {
|
||||
console.log(`process controller: ${f}...`);
|
||||
let mapping = require(__dirname + `/${controllers_dir}/` + f);
|
||||
addMapping(router, mapping);
|
||||
}
|
||||
}
|
||||
module.exports = function (dir) {
|
||||
let
|
||||
controllers_dir = dir || 'controllers', // 如果不传参数,扫描目录默认为'controllers'
|
||||
router = require('koa-router')();
|
||||
addControllers(router, controllers_dir);
|
||||
return router.routes();
|
||||
// return 1;
|
||||
};
|
Loading…
Reference in New Issue
Block a user