nodemon应用程序崩溃-等待文件更改,然后再启动...

时间:2019-08-08 09:45:29

标签: node.js node-modules nodemon

文件未在nodejs中上载,它显示错误,它是:nodemon应用程序崩溃-等待文件更改,然后再启动... nodejs

代码:

  var path = require('path');
  var express = require('express');
  var multer = require('multer');

  var app = express();
  var Storage = multer.diskStorage({
destination: './public/uploads/',
filename: (req, file, cb) => {
    cb(null, file.fieldname+"-"+Date.now()+path.extname(file.orignalname));
}
  })
  var upload = multer({
storage: Storage
  }).single('file');
  app.use(express.static(__dirname+"/public"));

  app.post('/uploadFile', upload , (req, res, next) => {
      res.send("Uploaded File: "+ req.file.filename);
  })
  app.listen(3000, () => console.log("Server Running at http://localhost:3000/"))

错误:

  TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
at validateString (internal/validators.js:125:11)
at Object.extname (path.js:830:5)
at DiskStorage.filename [as getFilename] (D:\nodejs\index.js:9:47)
at D:\nodejs\node_modules\multer\storage\disk.js:34:10
at DiskStorage.getDestination (D:\nodejs\node_modules\multer\storage\disk.js:22:51)
at DiskStorage._handleFile (D:\nodejs\node_modules\multer\storage\disk.js:31:8)
at D:\nodejs\node_modules\multer\lib\make-middleware.js:144:17
at allowAll (D:\nodejs\node_modules\multer\index.js:8:3)
at wrappedFileFilter (D:\nodejs\node_modules\multer\index.js:44:7)
at Busboy.<anonymous> (D:\nodejs\node_modules\multer\lib\make-middleware.js:114:7)
  [nodemon] app crashed - waiting for file changes before starting...

1 个答案:

答案 0 :(得分:3)

当nodemon因该错误而崩溃时,表明您的代码存在问题,阻止了它的启动。

错误消息的第一行是实际错误:

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined

您必须已经将undefined而不是字符串传递给函数,我猜这行:

cb(null, file.fieldname+"-"+Date.now()+path.extname(file.orignalname));

可能在file.originalname部分,您应该检查是否已定义