Node.js 404不能使用Express&;哈佛商学院

Node.js 404不能使用Express&;哈佛商学院,node.js,express,Node.js,Express,NodeExpress(4.16)+Multer(3.2.3)能够上传照片。现在想在收到上传后显示一些动态消息,所以我尝试了(不是Express Handlbar或Express hbs),模板提示文件ok,但总是得到 应用程序结构 app.js const express = require('express') const bodyParser= require('body-parser') var path = require('path'); const app = express(

NodeExpress(4.16)+Multer(3.2.3)能够上传照片。现在想在收到上传后显示一些动态消息,所以我尝试了(不是Express Handlbar或Express hbs),模板提示文件ok,但总是得到

应用程序结构

app.js

const express = require('express')
const bodyParser= require('body-parser')
var path = require('path');
const app = express();
const multer = require('multer');
fs = require('fs-extra');
app.use(bodyParser.urlencoded({extended: false}));
var index = require("./route/index");
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use('/', index);
app.post('*', index);
const express = require('express');
const r = express.Router();
const bodyParser= require('body-parser');
const app = express();
const multer = require('multer');
fs = require('fs-extra');
app.use(bodyParser.urlencoded({extended: false}));

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads')         // uploads = name of the destination folder
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage });

app.post('/', upload.single('picture'), (req, res) => {
    var img = fs.readFileSync(req.file.path);
});

r.get('/', function(req, res){
  res.render('index');
});
app.post('/', upload.single('picture'), (req, res) => {
    var img = fs.readFileSync(req.file.path);
    });

app.post('/uploadphoto', upload.single('picture'), (req, res) => {
  var i = 1;
  ...
});

module.exports = r; 
<form action="/uploadphoto" enctype="multipart/form-data" method="POST"> 
  Single Img.
  <input type="file" name="picture" accept="image/*" />
  <input type="submit" value="Upload an Image"/>
</form>
<h2>{{dynamicHere}}</h2>
index.js

const express = require('express')
const bodyParser= require('body-parser')
var path = require('path');
const app = express();
const multer = require('multer');
fs = require('fs-extra');
app.use(bodyParser.urlencoded({extended: false}));
var index = require("./route/index");
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use('/', index);
app.post('*', index);
const express = require('express');
const r = express.Router();
const bodyParser= require('body-parser');
const app = express();
const multer = require('multer');
fs = require('fs-extra');
app.use(bodyParser.urlencoded({extended: false}));

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads')         // uploads = name of the destination folder
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage });

app.post('/', upload.single('picture'), (req, res) => {
    var img = fs.readFileSync(req.file.path);
});

r.get('/', function(req, res){
  res.render('index');
});
app.post('/', upload.single('picture'), (req, res) => {
    var img = fs.readFileSync(req.file.path);
    });

app.post('/uploadphoto', upload.single('picture'), (req, res) => {
  var i = 1;
  ...
});

module.exports = r; 
<form action="/uploadphoto" enctype="multipart/form-data" method="POST"> 
  Single Img.
  <input type="file" name="picture" accept="image/*" />
  <input type="submit" value="Upload an Image"/>
</form>
<h2>{{dynamicHere}}</h2>
指数.hbs

const express = require('express')
const bodyParser= require('body-parser')
var path = require('path');
const app = express();
const multer = require('multer');
fs = require('fs-extra');
app.use(bodyParser.urlencoded({extended: false}));
var index = require("./route/index");
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use('/', index);
app.post('*', index);
const express = require('express');
const r = express.Router();
const bodyParser= require('body-parser');
const app = express();
const multer = require('multer');
fs = require('fs-extra');
app.use(bodyParser.urlencoded({extended: false}));

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads')         // uploads = name of the destination folder
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage });

app.post('/', upload.single('picture'), (req, res) => {
    var img = fs.readFileSync(req.file.path);
});

r.get('/', function(req, res){
  res.render('index');
});
app.post('/', upload.single('picture'), (req, res) => {
    var img = fs.readFileSync(req.file.path);
    });

app.post('/uploadphoto', upload.single('picture'), (req, res) => {
  var i = 1;
  ...
});

module.exports = r; 
<form action="/uploadphoto" enctype="multipart/form-data" method="POST"> 
  Single Img.
  <input type="file" name="picture" accept="image/*" />
  <input type="submit" value="Upload an Image"/>
</form>
<h2>{{dynamicHere}}</h2>

单一Img。
{{dynamicHere}}
已检查其他,因此包括,以及


Fiddler只显示404状态和“无法发布”。未命中VSC中的任何断点。

您正在导出的
r
,它只包含一个路由
r.get('/',function(req,res){})
。要使用
/uploadphoto
您需要导出
app

module.exports = app;

您正在导出
r
,它只包含一个路由
r.get('/',function(req,res){})
。要使用
/uploadphoto
您需要导出
app

module.exports = app;

我以为导出会导出整个文件我以为导出会导出整个文件