TypeScript - Triple-Slash Directives: A Beginner's Guide

Halo teman-teman, bakal bintang coding nanti! ? Apakah Anda siap untuk menyelam ke dunia yang menarik TypeScript? Hari ini, kita akan mengenal suatu topik yang mungkin terdengar menakutkan pada awalnya: Triple-Slash Directives. Tetapi jangan khawatir! Pada akhir pelajaran ini, Anda akan bisa menggunakannya seperti seorang ahli. mari kita mulai!

TypeScript - Triple-Slash Directives

Apa Itu Triple-Slash Directives?

Sebelum kita melompat ke lubuk dalam, mari kita mulai dari dasar. Triple-slash directives adalah komentar khusus di TypeScript yang dimulai dengan tiga garis miring (///). Mereka seperti pesan rahasia yang kita tinggalkan untuk kompiler TypeScript, memberikan petunjuk khusus tentang bagaimana mengolah kode kita.

Ini adalah contoh triple-slash directive:

/// <reference path="myFile.ts" />

Pertimbangkan ini sebagai catatan kecil yang kita tinggalkan untuk kompiler TypeScript, katakan, "Hai, teman! Pastikan Anda periksa file lain ini juga!"

Jenis Triple-Slash Directives

Sekarang kita tahu bagaimana triple-slash directive terlihat, mari kita jelajahi dua jenis utama:

  1. Reference Directives
  2. Module System Directives

Kita akan mendalamkan masing-masing jenis ini. Siap? Mari kita lanjut!

Reference Directives

Apa Itu Reference Directives?

Reference directives seperti petunjuk di kode Anda. Mereka memberitahu TypeScript, "Hai, ada hal penting di sini yang Anda perlu ketahui!"

Directive <reference path>

Ini adalah jenis reference directive yang paling umum. Ini digunakan untuk memberitahu TypeScript bahwa ia perlu menyertakan file lain saat kompilasi.

mari kita lihat contoh:

/// <reference path="./utils.ts" />

function greetUser(name: string) {
console.log(`Hello, ${name}!`);
}

greetUser(getUserName());

Dalam contoh ini, kita memberitahu TypeScript untuk menyertakan file utils.ts. File ini mungkin mengandung fungsi getUserName() yang kita gunakan dalam kode kita.

Directive <reference types>

Directive ini digunakan untuk mendeklarasikan dependensi pada paket. Ini sangat berguna saat Anda bekerja dengan file deklarasi (.d.ts files).

Ini adalah contoh:

/// <reference types="node" />

import * as fs from 'fs';

fs.readFile('example.txt', (err, data) => {
if (err) throw err;
console.log(data);
});

Dalam kasus ini, kita memberitahu TypeScript bahwa kita menggunakan jenis dari paket 'node'. Ini membantu TypeScript memahami modul fs yang kita impor.

Module System Directives

Sekarang, mari kita pindah ke module system directives. Ini seperti menetapkan aturan tentang bagaimana kode kita harus bermain dengan yang lain.

Directive <amd-module>

Directive ini digunakan saat Anda bekerja dengan modul AMD (Asynchronous Module Definition). Ini memungkinkan Anda menetapkan nama modul.

Ini adalah contoh:

/// <amd-module name="GreetingModule"/>

export function sayHello(name: string) {
return `Hello, ${name}!`;
}

Dalam kasus ini, kita memberitahu TypeScript untuk menamai modul AMD ini "GreetingModule".

Directive <amd-dependency>

Directive ini digunakan untuk memberitahu kompiler tentang dependensi yang harus dimasukkan ke dalam modul.

Ini adalah contoh:

/// <amd-dependency path="legacy/moduleA" name="moduleA"/>
import moduleA = require('moduleA');
moduleA.doSomething();

Dalam contoh ini, kita memberitahu TypeScript tentang dependensi pada modul legacy, dan memberikan nama yang bisa kita gunakan dalam kode kita.

Menggabungkan Semua

Sekarang kita telah mengenal directives ini, mari lihat bagaimana mereka bisa bekerja bersama dalam konteks nyata:

/// <reference path="./types.d.ts" />
/// <reference types="node" />
/// <amd-module name="MyAwesomeModule"/>

import * as fs from 'fs';
import { MyCustomType } from './types';

export function processData(data: MyCustomType) {
fs.writeFile('output.txt', JSON.stringify(data), (err) => {
if (err) throw err;
console.log('Data written to file');
});
}

Dalam contoh ini, kita menggunakan beberapa directives:

  1. Kita mereferensikan file definisi jenis lokal.
  2. Kita mendeklarasikan dependensi pada jenis 'node'.
  3. Kita menamai modul AMD kita.

Kemudian, kita menggunakan baik modul fs Node.js dan jenis khusus kita dalam fungsi kita.

Kesimpulan

Dan begitulah! Anda telah mengambil langkah pertama ke dunia triple-slash directives TypeScript. Tools ini sangat kuat dan dapat membantu Anda mengelola dependensi, bekerja dengan sistem modul yang berbeda, dan menjaga proyek TypeScript Anda terorganisir.

Ingat, seperti segala alat pemrograman, kunci adalah latihan. Jadi jangan khawatir untuk mencoba directives ini dalam proyek Anda sendiri. Sebelum Anda tahu, Anda akan bisa menggunakannya seperti seorang ahli!

Selamat coding, para master TypeScript nanti! ?

Directive Tujuan Contoh
<reference path> Sertakan file lain /// <reference path="./utils.ts" />
<reference types> Mendeklarasikan dependensi pada paket /// <reference types="node" />
<amd-module> Tetapkan nama untuk modul AMD /// <amd-module name="GreetingModule"/>
<amd-dependency> Mendeklarasikan dependensi AMD /// <amd-dependency path="legacy/moduleA" name="moduleA"/>

Credits: Image by storyset