index.js 파일 사용법(올바르게)
9828 단어 javascripttypescriptreactwebdev
편의상 이 문서에서는
index.js
를 예로 사용하겠습니다.즉, 디렉토리가 있는 경우
📦demo
┣ 📜file1.js
┣ 📜file2.js
┣ 📜file3.js
┗ 📜index.js
demo
디렉토리를 가리키면 demo/index.js
를 가리킬 것입니다.꽤 깔끔해보이고,
제대로 사용하면 코드베이스를 깨끗하게 유지하는 데 도움이 될 수 있습니다.
그러나 모든 곳에서 부주의하게 사용하면 가독성과 접근성이 모두 저해됩니다.
"Too much of a good thing can be a bad thing,"
- William Dudley
다음은 index.js 파일 및 해당 솔루션의 일반적인 잘못된 구현입니다.
┣ 📂demo
┃ ┗ 📜index.js
┣ 📂demo1
┃ ┗ 📜index.js
┣ 📂demo2
┃ ┗ 📜index.js
┗ 📂demo3
┃ ┗ 📜index.js
데모/index.js
export const num = 100;
작동하는 데모 디렉토리를 가리켜 index.js 파일의 내용에 액세스하려고 합니다.
import num from './demo';
이것은 index.js 파일의 최악의 구현입니다.
문제가 무엇입니까?
demo
가 디렉토리이고 demo/index.js
와 demo
가 동일한 대상을 가리키기 때문에 프로젝트 전체에서 데모 파일을 검색할 수 있지만 논리가 있기 때문에 표시되지 않습니다. demo/index.js
파일폴더에 파일이 하나만 있으면 디렉토리를 사용할 필요 없이 파일만 사용합니다.
이 경우의 해결책은 다음과 같습니다.
┣ 📜demo.js
┣ 📜demo1.js
┣ 📜demo2.js
┗ 📜demo3.js
demo.js
export const num = 100;
위의 가져오기는 여전히 작동하며 이제 파일을 직접 검색할 수 있습니다.
📦demo
┣ 📜file1.js
┣ 📜file2.js
┣ 📜file3.js
┗ 📜index.js
데모/index.js
import React from 'react';
const SomeComponent = () => {
return <div>some Component</div>;
};
export default SomeComponent;
이제 구성 요소가 기본 내보내기이므로 어떤 이름으로든 구성 요소를 가져올 수 있습니다. 이 구성 요소에서
Demo
로 가져오겠습니다.이제 이렇게 구성 요소를 가져올 수 있습니다.
import Demo from './demo';
데모 구성 요소는 유효한 구성 요소이지만 내 프로젝트에서 데모 구성 요소를 검색하면 아무 것도 찾을 수 없으며 데모 파일을 검색해도 데모 파일을 찾을 수 없습니다.
이는 index.js 파일을 사용하여 내보내기만 하면 해결할 수 있습니다.
예:
📦demo
┣ 📜Demo.jsx
┣ 📜file1.js
┣ 📜file2.js
┣ 📜file3.js
┗ 📜index.js
데모/Demo.jsx
import React from 'react';
const SomeComponent = () => {
return <div>some Component</div>;
};
export default SomeComponent;
추신: 이것은 예시 목적으로만 제공되며 혼동을 피하기 위해 파일 이름과 구성 요소 이름을 동일하게 유지하십시오.
이제 위의 가져오기가 계속 작동합니다.
import Demo from './demo';
이 경우 구성 요소 이름으로 검색하는 것은 여전히 작동하지 않지만 최소한 파일 이름으로 검색할 수 있습니다.
index.js 파일을 사용하여 내보내기 및 기본 내보내기를 모두 수행할 수 있습니다.
📦demo
┣ 📜Demo.jsx
┣ 📜file1.js
┣ 📜file2.js
┣ 📜file3.js
┗ 📜index.js
데모/file1.js
export const str1 = 'file1';
데모/file2.js
export const str2 = 'file2';
데모/file3.js
export const str3 = 'file3';
데모/Demo.js
import React from 'react';
const SomeComponent = () => {
return <div>some Component</div>;
};
export default SomeComponent;
마지막으로 index.js 파일
index.js
export { str1 } from './file1';
export { str2 } from './file2';
export { str3 as customExport } from './file3';
export { default } from './Demo';
처음 세 가지 예는 내보내기를 수행하고 있습니다.
세 번째는 내보내는 동안 내보내기에 별칭을 지정하는 것입니다.
네 번째는 기본 내보내기를 데모 구성 요소로 내보내는 것이며 이 index.js 파일에도 기본값입니다.
이와 같이 다른 파일의 기본 내보내기를 일반 파일로 내보낼 수도 있습니다.
export { default as NormalExport } from './Demo';
이와 같이 기본 내보내기를 수행할 수도 있습니다.
export default str = 'inexFileName';
이제
'./demo'
위치에서 이러한 모든 내보내기를 가져올 수 있습니다.import str, { str1, str2, customExport, NormalExport } from './demo';
Reference
이 문제에 관하여(index.js 파일 사용법(올바르게)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fahadaminshovon/-how-to-use-indexjs-fileproperly-302f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)