ES6 module 형태로 코드를 변경합니다.
webpack, parcel 과 같은 번들러를 사용x
해당 코드 실행을 위해서는 http-server 모듈을 통해 index.html 로 띄워야 합니다.
const config = {
API_ENDPOINT : "http://localhost:4001"
}
import config from './config.js';
const {API_ENDPOINT} = config;
export default config;
export default function uniqueArray(list) {
return Array.from(new Set(list));
}
async showDetail(data) {
const detailInfo = await api.fetchCatDetail(data.cat.id);
if(detailInfo) {
// 정보를 업데이트
this.setState({
visible: true,
cat: detailInfo.data
});
}
}
import uniqueArray from '../utils/uniqueArray.js'; // 테스트 대상 모드를 불러오고
describe('uniqueArray.js', () => { // describe로 시작
test('중복 제거 확인', () => {
expect(uniqueArray([0, 1, 1])).toStrictEqual([0,1])
})
});
this.data = {
show: false,
isNull: false
}
show(data) {
this.setState({
show: data === null || data.length === 0,
isNull: data === null
})
}
render() {
if (this.data.show) {
this.$empty.style.display = 'block';
if(this.data.isNull) {
this.$empty.innerHTML = `
<p>
요청 실패😂
</p>
`;
} else {
this.$empty.innerHTML = `
<p>
결과가 없습니다.😂
</p>
`;
}
} else {
this.$empty.style.display = 'none';
this.$empty.innerHTML = '';
}
.SearchInputSection {
position: relative;
}
.KeywordHistory {
display: none;
position: absolute;
top: 75px;
left: 0;
width: 100%;
background: #000;
margin: 0;
padding: 20px;
}
.SearchInputSection:hover .KeywordHistory {
display: block;
}
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0, .3);
text-align: center;
font-size: 30px;
color: #fff;
opacity: 0;
transition: all .5s ease;
}
.SearchResult .item:hover .content {
opacity: 1;
}