Node.js와 함께 jQuery 사용

Waqar Aslam 2023년10월12일
  1. Node.js 프로젝트에 jQuery 및 jsdom 설치
  2. Node.js 스크립트에서 jQuery 모듈 필요
  3. jQuery의 $.ajax 기능으로 HTTP 요청 만들기
  4. Node.js에서 jQuery의 DOM 조작 기능 사용
  5. jQuery 및 Node.js로 이벤트 처리
Node.js와 함께 jQuery 사용

jQuery는 웹 애플리케이션 구축에 널리 사용되는 인기 있는 JavaScript 라이브러리입니다. 무엇보다도 DOM과 상호 작용하고 HTTP 요청을 만들고 이벤트를 처리하기 위한 풍부한 API 세트를 제공합니다.

Node.js는 개발자가 웹 브라우저 외부에서 JavaScript 코드를 실행할 수 있도록 하는 JavaScript 런타임입니다. 서버 측 애플리케이션 구축을 위한 풍부한 API 세트를 제공하며 일반적으로 웹 서버, API 및 기타 백엔드 시스템 구축에 사용됩니다.

Node.js의 흥미로운 점 중 하나는 개발자가 프런트엔드 및 백엔드 개발에 동일한 언어(JavaScript)를 사용할 수 있다는 것입니다. 즉, Node.js 환경에서 일반적으로 프런트 엔드에서 사용되는 jQuery와 같은 라이브러리를 사용할 수도 있습니다.

이 기사에서는 Node.js에서 jQuery를 사용하는 방법을 살펴봅니다. 다음 주제를 다룰 것입니다.

  1. Node.js 프로젝트에 jQuery 설치.
  2. Node.js 프로젝트에서 jQuery 모듈이 필요합니다.
  3. jQuery의 $.ajax 기능을 사용하여 HTTP 요청 만들기.
  4. Node.js 프로젝트에서 jQuery의 DOM 조작 기능 사용.
  5. Node.js 프로젝트에서 jQuery로 이벤트 처리.

Node.js 프로젝트에 jQuery 및 jsdom 설치

Node.js 프로젝트에서 jQuery를 사용하는 첫 번째 단계는 npm에서 jQuery 및 jsdom 패키지를 설치하는 것입니다. 이렇게 하려면 터미널 창을 열고 프로젝트 디렉터리로 이동합니다.

그런 다음 다음 명령을 실행합니다.

npm install jquery
npm install jsdom

이렇게 하면 프로젝트에 jQuery 및 jsdom 패키지가 설치되고 package.json 파일에 추가됩니다.

Node.js 스크립트에서 jQuery 모듈 필요

jQuery 패키지를 설치하면 require 기능을 사용하여 Node.js 스크립트에서 jQuery 패키지를 요구할 수 있습니다.

const $ = require('jquery');

이렇게 하면 jQuery의 기능에 액세스하는 데 사용할 수 있는 상수 $가 생성됩니다. Node.js 환경에서 jQuery를 사용할 때 $ 개체는 브라우저에서 사용할 수 있는 전역 $ 개체가 아니라 jQuery 모듈을 나타냅니다.

따라서 전역 $ 개체에 의존하지 않고 require('jquery')를 사용하여 jQuery의 함수에 액세스해야 합니다.

jQuery의 $.ajax 기능으로 HTTP 요청 만들기

jQuery의 가장 유용한 기능 중 하나는 서버에 HTTP 요청을 할 수 있는 $.ajax 기능입니다. $.ajax를 사용하여 GET, POST, PUT, DELETE 및 기타 요청을 보낼 수 있으며 요청과 함께 보낼 데이터를 지정할 수도 있습니다.

다음은 $.ajax를 사용하여 GET 요청을 API 엔드포인트에 보내는 방법의 예입니다.

const {JSDOM} = require('jsdom');
const {window} = new JSDOM();
const {document} = new JSDOM('').window;
global.document = document;

const $ = require('jquery')(window);

$.ajax({
  url: 'https://jsonplaceholder.typicode.com/todos/1',
  type: 'GET',
  success: function(data) {
    console.log(data);
  },
});

출력:

요청 받기

이 예에서는 GET 요청을 https://api.example.com/endpoint URL로 보냅니다. 요청이 성공하면 응답 데이터를 인수로 사용하여 성공 콜백 함수가 호출됩니다.

$.ajax는 요청 동작을 사용자 지정하는 데 사용할 수 있는 다른 많은 옵션도 지원합니다. 예를 들어 요청이 너무 오래 걸리면 요청을 중단하도록 제한 시간을 지정하거나 요청이 전송되기 전에 일부 코드를 실행하기 위해 ‘beforeSend’ 콜백을 지정할 수 있습니다.

Node.js에서 jQuery의 DOM 조작 기능 사용

jQuery를 사용하여 가상 DOM에서 요소를 선택하고 속성을 조작할 수 있습니다. 예를 들어 text() 메서드를 사용하여 요소의 텍스트를 변경할 수 있습니다.

const {JSDOM} = require('jsdom');
const {window} = new JSDOM();
const {document} = new JSDOM('').window;
global.document = document;

const $ = require('jquery')(window);

$('body').append('<div id="example">Hello, World!</div>');
console.log($('#example').text());
$('#example').text('Hello, Node.js!');
console.log($('#example').text());

출력:

DOM 조작

jQuery 및 Node.js로 이벤트 처리

jQuery를 사용하여 이벤트 핸들러를 가상 DOM의 요소에 바인딩할 수 있습니다. 예를 들어 버튼 요소에 클릭 이벤트 핸들러를 연결할 수 있습니다.

const {JSDOM} = require('jsdom');
const {window} = new JSDOM();
const {document} = new JSDOM('').window;
global.document = document;

const $ = require('jquery')(window);

$('body').append('<div id="example">Hover over me!</div>');
$('#example').mouseenter(function() {
  $(this).css('background-color', 'yellow');
});
$('#example').mouseleave(function() {
  $(this).css('background-color', 'white');
});

console.log('button pressed');

출력:

이벤트 처리

작가: Waqar Aslam
Waqar Aslam avatar Waqar Aslam avatar

I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.

LinkedIn