Bài viết này mình sẽ chia sẻ một số config cơ bản dùng trong file tsconfig.json, các bạn hãy xem các ví dụ bên dưới để hiểu hơn nhé.
- Đầu tiên mình mở VS Code nên và tạo file app.ts trong thư mục helloworld
- Thêm code bên dưới vào file app.ts
let message: string = 'Hello, World!';
console.log(message);
Mở Terminal trong VS Code bằng keyboard shortcut Ctrl+` hoặc theo menu Terminal > New Terminal
Gõ command bên dưới để compile(biên dịch) file app.ts:
tsc app.ts
Nếu mọi thứ ok, bạn sẽ thấy một file gọi là app.js được sinh ra bởi TypeScript compiler:
Khi biên dịch, file app.js được hiển thị trong thư mục helloworld, giả sử mình muốn hiển thị các files đã được biên dịch vào trong thư mục js thì mình sẽ làm như thế nào.
Để giải quyết vấn đề này mình sẽ tạo một file là tsconfig.json và thêm code như sau:
{
"compilerOptions": {
"outDir" : "js",
}
}
Sau đó chạy command:
tsc
Output:
Option outDir trong config sẽ lưu tất cả các files đã biên dịch vào thư mục js
Tiếp theo mình tạo một thư mục là css trong thư mục helloworld, sau đó tạo một file là test.ts trong thư mục css:
Sau đó chạy command:
tsc
Lúc này trình biên dịch sẽ tìm tất cả các files có phần đuổi là .ts để biên dịch sang files js và lưu chúng vào thư mục js:
Trường hợp mình không muốn biên dịch files có đuôi mở rộng .ts trong thư mục css, thì mình sẽ cập nhật code trong file tsconfig.json:
{
"compilerOptions": {
"outDir" : "js",
},
"exclude": [
"css",
]
}
Tiếp tục xóa thư mục css trong thư mục js đi và chạy lại command:
tsc
Output:
Trình biên dịch sẽ bỏ qua các files có đuôi .ts trong thư mục css
Có một vấn đề là mỗi lần mình thay đổi nội dung trong file .ts mình đều phải chạy lại trình biên dịch bằng command tsc.
Để giải quyết vấn đề này mình sẽ thêm options watch vào file tsconfig.json như dưới:
{
"compilerOptions": {
"outDir" : "js",
"watch" : true
},
"exclude": [
"css",
]
}
Sau đó chạy command:
tsc
Trinh biên dịch ở chế độ watch mode(chế độ này sẽ tự động kiểm tra thay thổi trong file .ts nhé)
Khi bạn thay đổi code trong file .ts và nhấn lưu trình biên dịch sẽ tự động kiểm tra và biên dịch code bên dưới:
Tiếp tục cập nhật code trong file tsconfig.json với một số options như target, module, removeComments :
{
"compilerOptions": {
"target" : "ES6",
"module" : "commonjs",
"outDir" : "js",
"watch" : true,
"removeComments" : true,
},
"exclude": [
"css",
]
}
- Option target cho phép biên dịch code Typescript sang kiểu ES6
- CommonJS là tiêu chuẩn được sử dụng trong Node.js để làm việc với các module
- Option removeComments để remove comments khi biên dịch sáng file js
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf 1. Bảo vệ khỏi tấn công DoS bằng giới hạn số...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính bảo mật cho server (VPS & Dedicated)....
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
V. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét đoạn code php sau: <?php if (isset($_GET['file'])) { $file...
Directory traversal vulnerabilities (phần 3)
V. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng Xét đoạn code php sau:...
Directory traversal vulnerabilities (phần 2)
III. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau. Lỗ hổng thường xuất hiện khi chương...