• 레퍼런스
  • 자습서
  • require()

    모듈이나 .json 파일을 불러옵니다(import). 모듈은 프로젝트 폴더 내 modules 폴더에 위치하며, 사용자가 임의로 추가할 수 있습니다. 전역 모듈은 카카오톡봇 앱이 사용하는 데이터 폴더 내 global_modules 폴더에 위치하며, 마찬가지로 사용자가 임의로 추가할 수 있습니다.

    정보

    메신저봇R 0.7.40-alpha.03 이상 버전의 경우 별도의 설명을 추가로 확인해야 합니다.

    구문

    require(path);

    매개변수

    pathString

    불러올 모듈이나 JSON 파일의 이름 또는 경로.

    반환값

    any - 불러온 모듈이나 JSON 파일의 내용을 포함하는 객체를 반환합니다.

    설명

    require() 함수는 모듈이나 JSON 파일을 불러오는 데 사용됩니다. 모듈은 프로젝트 폴더 내 modules 폴더에 위치하며, 전역 모듈은 카카오톡봇 앱이 사용하는 데이터 폴더 내 global_modules 폴더에 위치합니다. 두 모듈 모두 사용자가 임의로 .js 파일의 모듈을 추가할 수 있습니다.

    path 매개변수에 파일의 이름 또는 모듈의 이름만 전달할 경우 modules 폴더와 global_modules 폴더에서 해당 이름의 파일 또는 모듈을 찾습니다. 작업 중인 스크립트의 프로젝트 폴더 경로는 __dirname을 사용할 수 있으며, 작업 중인 스크립트 파일의 경로는 __filename을 사용할 수 있습니다.

    주의

    • __dirname__filename은 메신저봇R 0.7.39a 버전부터 지원됩니다. 그외 버전과 다른 카카오톡봇 앱에서는 지원하지 않습니다.
    • 두 변수는 모듈 스코프에서 제대로 동작하지 않을 수 있습니다.

    GraalJS 기반에서

    메신저봇R 0.7.40-alpha.03 이상 버전에서는 더 이상 Rhino 엔진을 사용하지 않고 GraalJS 엔진을 사용합니다. GraalJS는 Rhino 엔진과 다르게 모듈의 경로를 여러 개 지정할 수 없어 전역 모듈(global_modules)을 지원하지 않습니다. 또한, 프로젝트 폴더 내 modules 폴더는 node_modules 폴더로 변경됩니다.

    주의

    ESM(ECMAScript Modules) 방식의 모듈을 사용하기 위해선, 모듈 파일의 확장자를 .mjs로 변경해야 합니다. 그렇지 않은 파일은 CJS(CommonJS) 방식의 모듈로 간주됩니다.

    앱 호환성

    0.7.39a

    메신저봇R

    4.0

    채팅 자동응답 봇

    0.1.0a

    StarLight