Explorar o código

file server init

yangjun hai 1 ano
achega
8f45304889
Modificáronse 11 ficheiros con 2411 adicións e 0 borrados
  1. 2 0
      .gitignore
  2. 43 0
      app.js
  3. 90 0
      bin/www
  4. 2199 0
      package-lock.json
  5. 17 0
      package.json
  6. 8 0
      public/stylesheets/style.css
  7. 25 0
      routes/upload.js
  8. 9 0
      routes/users.js
  9. 6 0
      views/error.jade
  10. 5 0
      views/index.jade
  11. 7 0
      views/layout.jade

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+node_modules
+.idea

+ 43 - 0
app.js

@@ -0,0 +1,43 @@
+var createError = require('http-errors');
+var express = require('express');
+var path = require('path');
+var cookieParser = require('cookie-parser');
+var logger = require('morgan');
+
+// var indexRouter = require('./routes/index');
+// var usersRouter = require('./routes/users');
+
+
+
+var app = express();
+
+// view engine setup
+app.set('views', path.join(__dirname, 'views'));
+app.set('view engine', 'jade');
+
+app.use(logger('dev'));
+app.use(express.json());
+app.use(express.urlencoded({ extended: false }));
+app.use(cookieParser());
+app.use(express.static(path.join(__dirname, 'public')));
+
+// app.use('/', indexRouter);
+// app.use('/users', usersRouter);
+
+// catch 404 and forward to error handler
+app.use(function(req, res, next) {
+  next(createError(404));
+});
+
+// error handler
+app.use(function(err, req, res, next) {
+  // set locals, only providing error in development
+  res.locals.message = err.message;
+  res.locals.error = req.app.get('env') === 'development' ? err : {};
+
+  // render the error page
+  res.status(err.status || 500);
+  res.render('error');
+});
+
+module.exports = app;

+ 90 - 0
bin/www

@@ -0,0 +1,90 @@
+#!/usr/bin/env node
+
+/**
+ * Module dependencies.
+ */
+
+var app = require('../app');
+var debug = require('debug')('documentaikit:server');
+var http = require('http');
+
+/**
+ * Get port from environment and store in Express.
+ */
+
+var port = normalizePort(process.env.PORT || '3000');
+app.set('port', port);
+
+/**
+ * Create HTTP server.
+ */
+
+var server = http.createServer(app);
+
+/**
+ * Listen on provided port, on all network interfaces.
+ */
+
+server.listen(port);
+server.on('error', onError);
+server.on('listening', onListening);
+
+/**
+ * Normalize a port into a number, string, or false.
+ */
+
+function normalizePort(val) {
+  var port = parseInt(val, 10);
+
+  if (isNaN(port)) {
+    // named pipe
+    return val;
+  }
+
+  if (port >= 0) {
+    // port number
+    return port;
+  }
+
+  return false;
+}
+
+/**
+ * Event listener for HTTP server "error" event.
+ */
+
+function onError(error) {
+  if (error.syscall !== 'listen') {
+    throw error;
+  }
+
+  var bind = typeof port === 'string'
+    ? 'Pipe ' + port
+    : 'Port ' + port;
+
+  // handle specific listen errors with friendly messages
+  switch (error.code) {
+    case 'EACCES':
+      console.error(bind + ' requires elevated privileges');
+      process.exit(1);
+      break;
+    case 'EADDRINUSE':
+      console.error(bind + ' is already in use');
+      process.exit(1);
+      break;
+    default:
+      throw error;
+  }
+}
+
+/**
+ * Event listener for HTTP server "listening" event.
+ */
+
+function onListening() {
+  var addr = server.address();
+  var bind = typeof addr === 'string'
+    ? 'pipe ' + addr
+    : 'port ' + addr.port;
+  debug('Listening on ' + bind);
+}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2199 - 0
package-lock.json


+ 17 - 0
package.json

@@ -0,0 +1,17 @@
+{
+  "name": "documentaikit",
+  "version": "0.0.0",
+  "private": true,
+  "scripts": {
+    "start": "node ./bin/www"
+  },
+  "dependencies": {
+    "cookie-parser": "~1.4.4",
+    "debug": "~2.6.9",
+    "express": "^4.18.2",
+    "http-errors": "~1.6.3",
+    "jade": "^0.31.2",
+    "morgan": "~1.9.1",
+    "multer": "^1.4.5-lts.1"
+  }
+}

+ 8 - 0
public/stylesheets/style.css

@@ -0,0 +1,8 @@
+body {
+  padding: 50px;
+  font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
+}
+
+a {
+  color: #00B7FF;
+}

+ 25 - 0
routes/upload.js

@@ -0,0 +1,25 @@
+var express = require('express');
+var router = express.Router();
+
+var multer = require('multer')
+
+var multer = require('multer')
+var storage = multer.diskStorage({
+  // 如果你提供的 destination 是一个函数,你需要负责创建文件夹
+  destination: 'resource',
+  //给上传文件重命名,获取添加后缀名
+  filename: function (req, file, cb) {
+    cb(null,  file.originalname);
+  }
+});
+var upload = multer({
+  storage: storage
+});
+
+router.post('/upload',upload.single('picUrl'),function(req,res,next){
+  console.log(req.body)//console.log(req.query.picTitle);//get
+  // console.log(req.body)
+  console.log(req.file)//req.file文件的具体信息
+  res.send({ret_code: 200});
+});
+module.exports = router;

+ 9 - 0
routes/users.js

@@ -0,0 +1,9 @@
+var express = require('express');
+var router = express.Router();
+
+/* GET users listing. */
+router.get('/', function(req, res, next) {
+  res.send('respond with a resource');
+});
+
+module.exports = router;

+ 6 - 0
views/error.jade

@@ -0,0 +1,6 @@
+extends layout
+
+block content
+  h1= message
+  h2= error.status
+  pre #{error.stack}

+ 5 - 0
views/index.jade

@@ -0,0 +1,5 @@
+extends layout
+
+block content
+  h1= title
+  p Welcome to #{title}

+ 7 - 0
views/layout.jade

@@ -0,0 +1,7 @@
+doctype html
+html
+  head
+    title= title
+    link(rel='stylesheet', href='/stylesheets/style.css')
+  body
+    block content