// const {odd, even} = require('./var');
import {odd, even} from './var';
// module.exports = checkOddOrEven;
export default checkOddOrEven;
const, require -> import, from
module.export -> export defualt로 변경이 안 됨
node 환경이 아니라는 것을 깨닫고, npm init 해서 node 환경 실행.
npm init
npm install express --save
그리고 package.json에 "type": "module" 추가
*이유*
package.json의 “type” 필드에 별도의 값이 없거나 “commonjs”로 설정되어 있으면 기본 모듈 처리 방식이 require를 사용하는 commonjs 방식으로 설정되기 때문에 import 부분에서 에러가 발생했던 것이고 “type” 필드 값을 “module”로 설정한 후엔 모듈 처리 방식이 import를 사용하는 es6 방식으로 변경
출처 : https://takeknowledge.netlify.app/bugfix/cannot-use-import-statement-outside-a-module/
import 하는 파일들 확장자 이름을 붙임
*이유*
한 가지 주의하실 점은 Babel 없이 순수하게 Node.js 최신 버전으로 ES 모듈을 사용하고 계시다면, import를 사용할 때 .js 확장자를 붙여주서야 합니다.
출처 : https://www.daleseo.com/js-module-import/
const odd = "홀수"
const even = "짝수"
// module.exports = {
// odd,
// even,
// }
export default {
odd,
even,
}
module.exports를 export defualt와 대응한다고 생각해서 적었던게 문제였음.
*개념*
export: 한 파일(.js) 안에서 여러개를 내보낼 수 있음
export default: 한 파일(.js)안에서 한개만 내보낼 수 있음
- 여러개 export 해주는게 있는 부분을, export default에서 export로 수정
webstorm 폴더 색깔이 빨간색일 때 (0) | 2022.04.12 |
---|---|
Linux) zsh: parse error near `&' (0) | 2022.01.16 |
node.js) Error: error:0308010C:digital envelope routines::unsupported, exit stat (0) | 2021.11.29 |
React) Failed to load resource: net::ERR_NAME_NOT_RESOLVED (0) | 2021.11.21 |
React) concurrently'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (0) | 2021.11.21 |