sp-express-init
Advanced tools
+32
| var express = require('express'); | ||
| var router = express.Router(); | ||
| var userDao = require('../sql/dao/index'); | ||
| /* Users API. */ | ||
| // Get all users | ||
| router.get('/', function (req, res, next) { | ||
| userDao.query(req, res, next); | ||
| }); | ||
| // Get user info by id | ||
| router.get('/getUserInfoById', function (req, res, next) { | ||
| userDao.queryById(req, res, next); | ||
| }); | ||
| //add user | ||
| router.post('/add', function (req, res, next) { | ||
| userDao.add(req, res, next); | ||
| }); | ||
| // update user info | ||
| router.post('/update', function (req, res, next) { | ||
| userDao.update(req, res, next); | ||
| }); | ||
| // delete user | ||
| router.post('/delete', function (req, res, next) { | ||
| userDao.delete(req, res, next); | ||
| }); | ||
| module.exports = router; |
| const mysql = require("mysql"); | ||
| module.exports = { | ||
| config: { | ||
| host: '127.0.0.1', | ||
| user: 'root', | ||
| password: 'root', | ||
| database: 'test', | ||
| port: 3306 | ||
| } | ||
| } |
| module.exports = { | ||
| SITE_ROOT: 'http://localhost:3000' | ||
| } |
+17
| # SP-Express-init | ||
| [Express]("https://github.com/expressjs/express"),[MySQL]("https://github.com/mysqljs/mysql"),[Pug]("https://github.com/pugjs/pug"),[nodemon]("https://github.com/remy/nodemon"),[Browsersync]("https://github.com/BrowserSync/browser-sync") | ||
| ## Usage | ||
| ### dev | ||
| ``` node | ||
| npm run dev | ||
| ``` | ||
| ### publish | ||
| ``` node | ||
| npm run publish | ||
| ``` |
+108
| var mysql = require('mysql'); | ||
| var $conf = require('../../config/mysql.config'); | ||
| var $sql = require('../query/user'); | ||
| // MySQL连接池 | ||
| var pool = mysql.createPool($conf.config); | ||
| // 接口数据返回 | ||
| var resturnData = function (res, ret, code = 200) { | ||
| res.json({ | ||
| code: code, | ||
| data: ret | ||
| }) | ||
| }; | ||
| module.exports = { | ||
| add: function (req, res, next) { | ||
| pool.getConnection(function (err, connection) { | ||
| // 获取页面参数 | ||
| var param = req.body; | ||
| // 增加 | ||
| if (connection) { | ||
| connection.query($sql.insert, [param.name, param.age], function (err, result) { | ||
| if (result) { | ||
| result = '增加成功' | ||
| } else { | ||
| result = err.code | ||
| } | ||
| resturnData(res, result); | ||
| // 释放连接 | ||
| connection.release(); | ||
| }); | ||
| } else { | ||
| resturnData(res, err.code, 500); | ||
| } | ||
| }); | ||
| }, | ||
| delete: function (req, res, next) { | ||
| // delete by Id | ||
| pool.getConnection(function (err, connection) { | ||
| var id = +req.body.id; | ||
| if (connection) { | ||
| connection.query($sql.delete, id, function (err, result) { | ||
| if (result.affectedRows > 0) { | ||
| result = '删除成功' | ||
| } else { | ||
| result = '删除失败' | ||
| } | ||
| resturnData(res, result); | ||
| connection.release(); | ||
| }); | ||
| } else { | ||
| resturnData(res, err.code, 500); | ||
| } | ||
| }); | ||
| }, | ||
| update: function (req, res, next) { | ||
| // update by id | ||
| var param = req.body; | ||
| if (param.name == null || param.age == null || param.id == null) { | ||
| resturnData(res, undefined); | ||
| return; | ||
| } | ||
| pool.getConnection(function (err, connection) { | ||
| if (connection) { | ||
| connection.query($sql.update, [param.name, param.age, +param.id], function (err, result) { | ||
| // 使用页面进行跳转提示 | ||
| if (result.affectedRows > 0) { | ||
| resturnData(res, '更新成功'); | ||
| } else { | ||
| resturnData(res, '更新失败', 500); | ||
| } | ||
| connection.release(); | ||
| }); | ||
| } else { | ||
| resturnData(res, err.code, 500); | ||
| } | ||
| }); | ||
| }, | ||
| queryById: function (req, res, next) { | ||
| // id查用户 | ||
| var id = +req.query.id; | ||
| pool.getConnection(function (err, connection) { | ||
| if (connection) { | ||
| connection.query($sql.queryById, id, function (err, result) { | ||
| resturnData(res, result); | ||
| connection.release(); | ||
| }); | ||
| } else { | ||
| resturnData(res, err.code, 500); | ||
| } | ||
| }); | ||
| }, | ||
| query: function (req, res, next) { | ||
| // 查询所有用户 | ||
| pool.getConnection(function (err, connection) { | ||
| if (connection) { | ||
| connection.query($sql.query, function (err, result) { | ||
| resturnData(res, result); | ||
| connection.release(); | ||
| }); | ||
| } else { | ||
| resturnData(res, err.code, 500); | ||
| } | ||
| }); | ||
| } | ||
| }; |
| module.exports = { | ||
| query: 'SELECT * FROM user', | ||
| queryById: 'SELECT * FROM user WHERE id=?', | ||
| update: 'UPDATE user SET name=?, age=? WHERE id=?', | ||
| insert: 'INSERT INTO user(name, age) VALUES(?,?)', | ||
| delete: 'DELETE FROM user WHERE id=?' | ||
| } |
| extends layout | ||
| block content | ||
| .container | ||
| each item in data | ||
| li | ||
| .id=item.id | ||
| .name=item.name | ||
| .age=item.age | ||
| button.del(data-id=item.id) 删除 | ||
| .add | ||
| input(name="name" placeholder="姓名") | ||
| input(name="age" placeholder="年龄") | ||
| button#add 添加 | ||
| script(src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js") | ||
| script. | ||
| $(".del").click(function(){ | ||
| $.ajax({ | ||
| url:'/api/users/delete', | ||
| method:'post', | ||
| data:{ | ||
| id:$(this).attr("data-id") | ||
| }, | ||
| success(res){ | ||
| if(res.code===200){ | ||
| location.reload(); | ||
| } | ||
| } | ||
| }) | ||
| }) | ||
| $("#add").click(function(){ | ||
| $.ajax({ | ||
| url:'/api/users/add', | ||
| method:'post', | ||
| data:{ | ||
| name:$("input[name='name']").val(), | ||
| age:$("input[name='age']").val() | ||
| }, | ||
| success(res){ | ||
| if(res.code===200){ | ||
| location.reload(); | ||
| } | ||
| } | ||
| }) | ||
| }) |
+9
-7
@@ -7,3 +7,3 @@ var createError = require('http-errors'); | ||
| var userList = require('./api/userList'); | ||
| var usersAPI = require('./api/users'); | ||
| var indexRouter = require('./routes/index'); | ||
@@ -20,3 +20,5 @@ var usersRouter = require('./routes/users'); | ||
| app.use(express.json()); | ||
| app.use(express.urlencoded({ extended: false })); | ||
| app.use(express.urlencoded({ | ||
| extended: false | ||
| })); | ||
| app.use(cookieParser()); | ||
@@ -27,11 +29,11 @@ app.use(express.static(path.join(__dirname, 'public'))); | ||
| app.use('/users', usersRouter); | ||
| app.use('/api/userList', userList); | ||
| app.use('/api/users', usersAPI); | ||
| // catch 404 and forward to error handler | ||
| app.use(function(req, res, next) { | ||
| next(createError(404)); | ||
| app.use(function (req, res, next) { | ||
| res.send(404); | ||
| }); | ||
| // error handler | ||
| app.use(function(err, req, res, next) { | ||
| app.use(function (err, req, res, next) { | ||
| // set locals, only providing error in development | ||
@@ -46,2 +48,2 @@ res.locals.message = err.message; | ||
| module.exports = app; | ||
| module.exports = app; |
@@ -22,3 +22,3 @@ /** | ||
| }, | ||
| "files": ['./routes/**/*.js', './views/**/*.pug', './public/**/*.*'], | ||
| "files": ['./routes/**/*.js', './views/**/*.pug', './public/**/*.*','./sql/**/*.*'], | ||
| "watchEvents": [ | ||
@@ -25,0 +25,0 @@ "change" |
+6
-3
| { | ||
| "name": "sp-express-init", | ||
| "version": "1.0.0", | ||
| "version": "1.0.1", | ||
| "private": false, | ||
@@ -8,3 +8,4 @@ "scripts": { | ||
| "start": "nodemon --exec node ./bin/www", | ||
| "watch": "browser-sync start --config config/bs-config.js" | ||
| "watch": "browser-sync start --config config/bs-config.js", | ||
| "publish": "node ./bin/www" | ||
| }, | ||
@@ -18,4 +19,6 @@ "dependencies": { | ||
| "morgan": "~1.9.0", | ||
| "mysql": "^2.16.0", | ||
| "nodemon": "^1.18.4", | ||
| "pug": "2.0.0-beta11" | ||
| } | ||
| } | ||
| } |
+10
-4
| var express = require('express'); | ||
| var router = express.Router(); | ||
| var axios = require('axios'); | ||
| var config = require('../config/site.config'); | ||
| /* GET users listing. */ | ||
| router.get('/', function(req, res, next) { | ||
| res.render('index', { title: 'users',test:'users' }); | ||
| router.get('/', function (req, res, next) { | ||
| axios.get(`${config.SITE_ROOT}/api/users`).then(r => { | ||
| res.render('users', { | ||
| title: 'users list', | ||
| data: r.data.data | ||
| }); | ||
| }) | ||
| }); | ||
| module.exports = router; | ||
| module.exports = router; |
| var express = require('express'); | ||
| var router = express.Router(); | ||
| /* GET userList API. */ | ||
| router.get('/', function (req, res, next) { | ||
| res.send({ | ||
| "name": "admin" | ||
| }); | ||
| }); | ||
| module.exports = router; |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
12171
86.82%17
54.55%314
83.63%1
-50%17
Infinity%9
28.57%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added