#node.js #express
#node.js #экспресс
Вопрос:
Мне удалось получить данные в # 1, но я не могу распечатать их в Express # 2, как я могу разрешить данные и вывести их?
Я считаю, что это ошибка моего кода, из-за которой я не могу разместить правильную async / await.
Вот мой код:
minify.js
const { getContent } = require('./get');
const { minifyJS } = require('./processing');
async function getMinify(req, res) {
try {
const remoteUrl = 'http://example.com/script.js';
console.log('URL: ' remoteUrl);
// #1
const content = await getContent(remoteUrl);
// #2
const outputJS = await minifyJS(content);
res.end(outputJS);
} catch (error) {
res.end(error.content);
}
}
module.exports = { getMinify }
get.js
const got = require('got');
async function getContent(remoteUrl) {
const code = await got(remoteUrl);
return code.body;
}
module.exports = { getContent }
processing.js
const { minify } = require('uglify-js');
async function minifyJS(data) {
const result = await minify(data);
return result.code;
}
module.exports = { minifyJS }
app.js
const express = require('express');
const { getMinify } = require('./minify');
const app = express();
app.get('/*', getMinify);
app.listen(5000);
Комментарии:
1. пожалуйста, добавьте
script.js
файл для тестирования кода, мне нужно2. или дайте мне URL для тестирования
3. если ваша проблема решена, пожалуйста, примите и поддержите мой ответ, братан, спасибо
4. примите, если вы получили ответ, пожалуйста
Ответ №1:
на основе uglify-js результат minify(data)
функции имеет два объекта code
и error
.
и minify(data)
не нужно await
processing.js должно измениться
const { minify } = require("uglify-js");
async function minifyJS(data) {
let { error, code } = minify(data);
if (error)
throw error;
return code;
}
module.exports = { minifyJS };
и для обработки двух файлов .js (get.js и processing.js ) изменил
minify.js
try {
const remoteUrl = 'http://example.com/script.js';
console.log('URL: ' remoteUrl);
// #1
const content = await getContent(remoteUrl);
// #2
const outputJS = await minifyJS(content);
res.end(outputJS);
} catch (error) {
res.end(error); // remove .content
}