#vscode-extensions
#vscode-расширения
Вопрос:
Я хочу создать расширение VSC, которое включает в себя публикацию в моем API, однако, когда я пишу свой синтаксис выборки для публикации на моем сервере, он не работает. Итак, я подумал, может быть, мне нужно добавить выборку узла, что я и сделал npm i --save node-fetch
, и он говорит This expression is not callable.
, и еще раз, он все еще не может выполнить запрос POST.
Ответ №1:
Я использовал axios
для отправки по URL-адресу:
import * as FormData from 'form-data';
import axios from 'axios';
const form = new FormData();
form.append('srcmbr', save_folderContent.srcmbr);
form.append('srcfName', save_folderContent.srcfName);
form.append('srcfLib', save_folderContent.srcfLib);
const headers = form.getHeaders();
headers['Content-length'] = await form_getLength(form);
{
const result = await axios.post(
`${serverUrl}/site/common/rmvm-srcmbr.php`, form,
{ headers, });
console.log(`delete-srcmbr ${result.data}`);
}
export function form_getLength(form: FormData)
{
return new Promise((resolve, reject) =>
{
form.getLength((err, length) =>
{
resolve(length);
});
});
}
Комментарии:
1. Привет, я использую обычный JS, а не TS, и кажется, что «yo» должен иметь
require
, чтобы он действительно импортировался, но когда я его импортирую, я получаюProperty 'post' does not exist on type...
2. На самом деле! Я понял! Я забыл .по умолчанию в конце require(‘axios’) хахаха, ….. но спасибо!
Ответ №2:
С node-fetch
помощью вы можете сделать что-то вроде этого:
const fetch = require('node-fetch');
async function main () {
const myUrl = 'https://api.example.com/route';
const myData = {};
const response = await fetch(myUrl, {
method: 'POST',
body: JSON.stringify(myData),
}).then((response) => response.json());
console.log(response);
}
main();
Ответ №3:
Я забыл добавить .default в конце требования axios.
так что это было бы
const axios = require('axios').defau<
ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ TYPESCRIPT, ПОЖАЛУЙСТА, ОБРАТИТЕСЬ К СООБЩЕНИЮ @RockBoro!!!