일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dotenv
- 제일 작은 수 제거하기
- 커밋 한번에
- 리액트코드정렬
- EC2
- 자연수 뒤집어 배열로 만들기
- useReducer
- max_allowed_packet
- axios
- vscode
- interactive_timeout
- elasticIP
- AWS
- reacts3
- Node
- react
- 자동완성방지
- 코딩테스트
- prettier
- express
- s3확장자
- 코드정렬
- 리액트
- 프로그래머스
- next #middleware
- MySQL
- 프리티어
- utf8mb4
- 부족한 금액 계산하기
- .env
- Today
- Total
Sungtt
타입스크립트에서 ES6방식으로 모듈 사용 시..ts2691 본문
ts2691
이전 프로젝트에서는 Node에서 모듈을 불러오고 내보낼 때
CommonJS 방식으로 했다. ( module.export / requier )
새로운 프로젝트에선 ES6 방식으로 모듈을 사용하려는데 오류를 만났다.
상황은 mysql 연결코드가 들어가있는 파일을 따로 모듈화하여 쓰려고했는데
아래의 각각 코드로 내보내고 불러와도 모듈을 찾을 수 없다는 말뿐이었다.
export default db;
import db from "./db";
export const db;
improt {db} from "./db"
CustomError: Cannot find module 'C:\server\db' imported from C:\server\router\register_router.tsx
오류 문구를 보다보니 파일이름이 확장자없이 db로 딱 잘라끝나는게 문제일수도 있겠다 싶어서
import db from "./db.tsx"; 로 작성해보니 ts(2691) 오류가 떴다.
https://bobbyhadz.com/blog/typescript-import-path-cannot-end-with-ts-extension
해결 방법
원인은 TS와 esLint에 있었다.
1. import 시 경로를 db.js라고 명시해주기
improt {db} from "./db.js"
2. webpack.config.js 의 extensions 코드 변경
CRA에서 파일을 수정하려면 npm run eject를 먼저 해주어야했다.
Create-React-App 의 webpack.config.js 들여다보기
eject 명령어로 CRA 프로젝트의 webpack.config.js를 알아보겠습니다.
berkbach.com
그 후 코드를 변경해주자
module.exports = {
//... rest
resolve: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
};
3. eslint 룰 무시하기
import 시 주석으로 룰 무시
/* eslint-disable @typescript-eslint/ban-ts-comment */
// @ts-ignore
import { db } from './db.ts';
or
.eslintrc 설정파일 작성
{
"rules": {
"@typescript-eslint/ban-ts-comment": "off"
},
}
'Node' 카테고리의 다른 글
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory (0) | 2022.11.14 |
---|---|
nginx 405 Not Allowed (0) | 2022.05.06 |
중요한 변수값(서버 속성 및 포트)을 환경변수로 사용하기 (0) | 2022.04.17 |
crypto-js 암호화,복호화하기 (0) | 2022.03.24 |
[Sequelize] 2 - DB연결하기 (0) | 2022.03.02 |