ReactNative - 자주 사용 하 는 가 져 오기 내 보 내기 방식
require()
, import ''
과 @providesModule
1 require 방식CommonJS 에서 지원 합 니 다.
CommonJS 는 nodejs, 즉 서버 에서 광범 위 하 게 사용 되 는 모듈 화 메커니즘 이다.이 규범 의 주요 내용 은 모듈 이 module. exports 를 통 해 대외 변수 나 인 터 페 이 스 를 내 보 내 고 require () 를 통 해 다른 모듈 의 출력 을 현재 모듈 역할 영역 에 가 져 와 야 한 다 는 것 이다.
내 보 내기 방식
var x = 5;
module.exports.x = x;
var addX = function (value) {
return value + x;
};
module.exports.addX = addX;
module.exports = {
TripComputation: require('./TripComputation'),
FlightComputation:require("./FlightComputation"),
};
가 져 오기 방식
var app = require('./app.js');
제한 하 다.
require()
가 져 오 는 방식 은 코드 블록 외부, 내부 에서 모두 사용 할 수 있 습 니 다.2 import 방식
ES6 지원
ES6 , requirejs 。
내 보 내기 내 보 내기
export var color = "red";
export let name = "cz";
export const age = 25;
export function add(num1,num2){
return num1+num2;
}
export class Rectangle {
constructor(length, width) {
this.length = length;
this.width = width;
}
}
function multiply(num1, num2) {
return num1 * num2;
}
export {multiply}
//
export color as newColor;
//
export {multiply as newMultiply}
//
export Rectangle as NewRectangle
export default function(num1, num2) {
return num1 + num2;
}
모듈 의 기본 값 은
default
키 워드 를 사용 하여 지정 한 단일 변수, 함수 또는 클래스 입 니 다. 모듈 마다 기본 내 보 내기 만 설정 할 수 있 습 니 다.function sum(num1, num2) {
return num1 + num2;
}
export { sum as default };
이름 바 꾸 기 문법 을 사용 하여 기본 값 을 내 보 냅 니 다.
import 가 져 오기
import {sum} from './example.js'
import {sum, multiply} from './example.js'
import * as example from './example.js';
example.sum(1,2);
example.multiply(2,3);
import { sum as add} from './example.js'
//
export default function(num1, num2) {
return num1 + num2;
}
// ,sum ,
import sum from "./example.js";
//
export let color = "red";
export default function(num1, num2) {
return num1 + num2;
}
// ,
import sum,{color} from "./example.js"
가 져 온 재 내 보 내기
//
import {sum} from './example.js'
……
export {sum}
//
export {sum} from './example.js'
//
export { sum as add } from "./example.js";
//
export * from "./example.js";
사용 제한
export 와 import 는 다른 구문 이나 표현 식 의 외부 에 사용 되 어야 하 며, if 등 코드 블록 내부 에 사용 할 수 없습니다.그 이유 중 하 나 는 모듈 문법 이 JS 가 무엇 을 내 보 내야 하 는 지 정적 으로 판단 할 수 있 도록 해 야 하기 때 문 입 니 다. 이 때문에 모듈 의 최상 위 역할 영역 에서 export 와 import 만 사용 할 수 있 습 니 다.
3 @providesModule
ReactNative 에서 지원 합 니 다.
상기 두 가지 방식 은 가 져 올 때 까지 모두 파일 의 상대 적 인 경 로 를 사용 합 니 다. 만약 에 파일 의 차원 이 비교적 깊 으 면 상대 적 인 경 로 를 쓰 면 잘못 쓰기 쉽 고 읽 을 때 도 식별 하기 쉽 지 않 습 니 다.이에 따라 ReactNative 는 모듈 이름 에 따라 직접 가 져 올 수 있 는 키워드
@providesModule
를 제공 했다.@providesModule
의 여러 줄 주석 이 있 습 니 다. 파일 의 첫 번 째 여러 줄 주석 이 어야 합 니 다./**
* @providesModule CommonComponent
*/
import {
Dimensions
} from 'react-native';
export default class Common {
...
}
//
// import CommonComponent from './../Common/CommonComponent'
//
import CommonComponent from 'CommonComponent'
제한 하 다.
RN 과 같은 환경 에서 만 사용 할 수 있 고 전단 의 항목 에 사용 할 수 없습니다.
결함.
의 원리
RN 은 스 크 립 트 를 포장 할 때 이 유형의 파일 을 감지 하고, 전체 항목 파일 에서 해당 하 는 파일 을 찾 아 해당 하 는 모듈 코드 로 바 꿉 니 다.패 키 지 는 가 져 오 는 상대 경로 와 같 습 니 다.
4 확장
파일 경로
이상 의 가 져 오기 방식 은 모두 파일 경 로 를 사용 하여 파일 을 가 져 옵 니 다. 파일 경로 의 사용 방식 은 다음 과 같 습 니 다.
참고:
https://blog.csdn.net/crystal6918/article/details/74906757/ https://segmentfault.com/a/1190000004593603 https://www.jianshu.com/p/810abc8792be
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.