node.js основная ошибка загрузки файла expess-fileupload - PullRequest
0 голосов
/ 29 ноября 2018

Использование примера в express-fileupload Примеры

<pre>   
const express = require('express');
const fileUpload = require('express-fileupload');
const app = express();

// default options
app.use(fileUpload());

app.post('/upload', function(req, res) {
 if (Object.keys(req.files).length == 0) {
 return res.status(400).send('No files were uploaded.');
}

// The name of the input field (i.e. "sampleFile") is used to retrieve the uploaded file

let sampleFile = req.files.sampleFile;

// Use the mv() method to place the file somewhere on your server
sampleFile.mv('/somewhere/on/your/server/filename.jpg', function(err) {
 if (err)
 return res.status(500).send(err);

 res.send('File uploaded!');
 });
 }); <code>

Я получаю эту ошибку

nodejs server1.js /var/www/html/express/server1.js:14 let sampleFile = req.files.sampleFile;^^^

SyntaxError: Объявления в рамках блока (let, const, function, class) еще не поддерживаются вне строгого режима

Я уверен, что-то простое.Даже если вставить код здесь, оператор let будет изолированным.

1 Ответ

0 голосов
/ 29 ноября 2018

В объявлении с блочной областью ключевое слово let сообщает NodeJS, что объявленная вами переменная будет существовать только в самом внутреннем контрольном блоке кода.Это может быть функция или набор фигурных скобок внутри функции, чаще всего встречающиеся в циклах.Это не поддерживается в ранних версиях узла.Посмотрите на инструмент nvm, чтобы узнать, как при необходимости переключаться между различными версиями узла.Обычно вы хотите использовать последнюю версию долгосрочной поддержки.

На cannot find module вы ищете инструмент npm, который используется для установки узловых модулей.Он не может найти express-fileupload, поэтому вы хотите установить этот файл из npm.Вы можете установить модуль с помощью:

npm install express-fileupload

Или с сокращением npm i express-fileupload

Если вы используете действительно старую версию npm, лучше использовать

npm i express-fileupload --save

Это сохранит лицо, в котором ваш проект зависит от пакета express-fileupload, в файле с именем package.json, так что npm узнает об этом позже для управления зависимостями, такого как переустановка пакетов, аудит,или установка зависимостей при развертывании в других системах.Более новые версии npm делают это автоматически.Вы бы использовали npm i express-fileupload --save-dev, если бы заботились об этой зависимости только в среде разработки, а не в производственной среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...