일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 리액트
- AWS
- react
- next.js
- TypeScript
- BFS
- 블록체인
- 파이썬
- CSS
- docker
- 웹
- 이슈
- 컴퓨터공학
- kubernetes
- 쿠버네티스
- 프론트엔드
- 솔리디티
- JavaScript
- 클라우드
- 알고리즘
- 백준
- HTML
- 타입스크립트
- es6
- 백엔드
- 가상화
- k8s
- 자바스크립트
- 이더리움
- node.js
Archives
- Today
- Total
즐겁게, 코드
[이슈] : 타입스크립트 프로젝트에서 require.context 사용하기 본문
📋 내용 : 타입스크립트 코드에서 require.context를 인식하지 못하는 문제
next.js 기반 블로그 튜토리얼을 따라가던 중, 이 부분에서 문제가 생겼습니다.
// api/index.ts
import matter from "gray-matter";
export async function getAllPosts() {
// 타입스크립트로 프로젝트를 구성하면 이 부분에서 빨간 줄이 그어진다.
const context = require.context("../_posts", false, /\.md$/);
const posts = [];
for (const key of context.keys()) {
const post = key.slice(2);
const content = await import(`../_posts/${post}`);
const meta = matter(content.default);
posts.push({
slug: post.replace(".md", ""),
title: meta.data.title,
});
}
return posts;
}
require.context는 웹팩이 모듈을 탐색할 때 특정 경로에 존재하는 파일을 탐색하기 위한 함수인데요, 타입스크립트 프로젝트에서 사용하기 위해서는 추가적인 설정이 필요합니다.
🛠 해결책
타입스크립트 환경의 웹팩을 설치해주고, tsconfig.json에 명시해줍니다.
npm i @types/webpack-env @types/node -D
// tsconfig.json
{
"compilerOptions": {
... 다른 설정들 ...
// types에 다음 항목들을 추가해줍니다.
"types": ["node", "webpack-env"],
}
설치가 완료되면, context가 웹팩 모듈에서 불러온 프로퍼티임을 인식할 수 있게 됩니다.
반응형
'📙 이슈 솔루션 > 프론트엔드' 카테고리의 다른 글
[이슈] : styled-components에서 자기 자신 가리키기 (0) | 2021.05.14 |
---|---|
[이슈] : 타입스크립트 : Cannot find module '.. (0) | 2021.05.14 |
[이슈] : react-chartjs 라벨 숨기기 (0) | 2021.05.08 |
[이슈] : react-chartjs 사이즈 조정하기 (0) | 2021.05.08 |
[이슈] : react-globe.gl 에서 한글 라벨 사용하기 (0) | 2021.05.02 |
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆