У меня есть жестко закодированные JSON данные, которые отображаются при запуске приложения, и я использую JSON -schema-faker, чтобы получить некоторые данные mockApi и отображать их, когда я устанавливаю для параметра запроса useMockApi значение true. Я хочу ссылку изменить в зависимости от среды, но когда я устанавливаю true для useMockApi, это дает мне эту ошибку
import { getUsers, deleteUser } from "./api/userApi.js";
getUsers().then(result => {
let userBody = "";
result.forEach(user => {
userBody += `<tr>
<td><a href="#" id="${user.id}" class="del">Delete </a></td>
<td>${user.id}</td>
<td>${user.firstName}</td>
<td>${user.lastName}</td>
<td>${user.email}</td>
</tr>`
});
global.document.getElementById('users').innerHTML = userBody;
const deleteLinks = document.querySelectorAll('.del');
Array.from(deleteLinks, link => {
link.onclick = (event) => {
const element = event.currentTarget;
event.preventDefault();
deleteUser(element.id) //eslint-disable-line no-console
const row = element.parentNode.parentNode;
row.remove();
}
})
})
Не удалось выполнить «извлечение» в «Окне»: не удалось проанализировать URL-адрес из http://localhost: 5000users
это мой код
/* eslint-disable no-unused-vars */
import "whatwg-fetch";
import getBaseUrl from './baseUrl';
const baseurl = getBaseUrl();
export function getUsers() {
return get('users');
}
export function deleteUser(id) {
return del(`users/${id}`)
}
function get(url) {
return fetch(baseurl + url).then(onSuccess, onError);
}
function del(url) {
const request = new Request(`${baseurl}/${url}`, {
method: 'DELETE'
});
return fetch(request).then(onSuccess, onError)
}
function onSuccess(response) {
return response.json();
}
function onError(err) {
console.log(err); //eslint-disable-line no-console
}
export default function getBaseUrl() {
return getQueryStringParameterByName('useMockApi') ? 'http://localhost:5000' : '/';
}
function getQueryStringParameterByName(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, "\\$&")
var regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "))
}