코드 재사용

OJS를 포함하는 더 큰 Quarto 프로젝트(웹사이트, 등)를 만들다 보면 서로 다른 페이지에서 코드, 데이터, 출력물을 재사용하고 싶을 것입니다.

모듈

Quarto의 OJS 블록은 JavaScript 모듈을 직접 지원합니다. 예를 들어 다음과 같은 square.js 소스 파일이 있다면,

export function square(x) {
  return x * x;
}

다음과 같이 square() 함수를 가져와 사용할 수 있습니다.

import { square } from "./square.js"
square(5)

데이터

Python이나 R로 데이터를 전처리한 뒤 ojs_define() 함수로 OJS에 전달하고 있을 수도 있습니다(자세한 내용은 데이터 소스 문서에 설명되어 있습니다). 이런 방식으로 준비한 데이터를 공유하려면 다른 .qmd에서 직접 가져오면 됩니다.

예를 들어, 여기서는 dplyr로 읽고 전처리한 co2datadata-sources.qmd에서 가져옵니다.

import { co2data } from "./data-sources.qmd";
Inputs.table(transpose(co2data))

출력

다른 .qmd 파일에서 어떤 반응형 값이든 가져올 수 있습니다. 여기서는 data-sources.qmd에 있는 차트를 바로 재사용합니다.

import { yearlyChart } from "./data-sources.qmd";
yearlyChart