clasp – CLI Apps Script

1. Giới thiệu

Giao diện dòng lệnh (CLI) của Apps Script, hay clasp, là một công cụ cho phép bạn tạo, chỉnh sửa và triển khai các dự án Apps Script trên thiết bị. Dịch vụ này cho phép bạn tạo và xuất bản các ứng dụng web cũng như tiện ích bổ sung cho các sản phẩm như Trang tính, Tài liệu, Biểu mẫu và Trang trình bày từ dòng lệnh. Có hai cách để bạn có thể phát triển Apps Script, đó là sử dụng script.google.com hoặc dùng cục bộ trên máy tính của bạn. Chúng ta sẽ tìm hiểu phần sau, cách sử dụng clasp, công cụ dòng lệnh cho Apps Script.

Tính năng

  • Phát triển cục bộ. clasp cho phép bạn viết mã trên máy tính của riêng mình và tải mã đó lên Apps Script khi bạn hoàn tất. Bạn cũng có thể tải các dự án Apps Script hiện có xuống rồi chỉnh sửa cục bộ các dự án đó. Sau khi mã đã được cục bộ, bạn có thể sử dụng các công cụ phát triển yêu thích như git để thao tác trên các dự án Apps Script.
  • Quản lý phiên bản triển khai. Tạo, cập nhật và xem nhiều lần triển khai dự án.
  • Mã cấu trúc. clasp tự động chuyển đổi dự án phẳng của bạn trên script.google.com thành các thư mục. Ví dụ:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs

# Locally:
├── tests/
│   ├─ slides.gs
│   └─ sheets.gs

Kiến thức bạn sẽ học được

Lớp học lập trình này sẽ hướng dẫn bạn cách thực hiện 3 hoạt động chính với clasp:

  • Cách tạo dự án Apps Script mới
  • Cách sao chép, kéo và đẩy các dự án hiện có
  • Cách quản lý việc triển khai tập lệnh của bạn

2. Bắt đầu

Tải CLI xuống

Giao diện dòng lệnh (CLI) của Apps Script (clasp) yêu cầu cài đặt Node.js >= v6.0.0. Cài đặt Node.js tại đây.

Sau khi bạn đã có Nút, hãy cài đặt CLI toàn hệ thống (email đại diện clasp):

npm i @google/clasp -g

3. Đăng nhập

Đăng nhập

Hãy thử dùng móc cài! Lệnh duy nhất bạn cần nhớ là clasp.

clasp

Trước khi bắt đầu sử dụng công cụ dòng lệnh, chúng ta phải đăng nhập. Chạy lệnh này:

clasp login

hoặc nếu sử dụng SSH:

clasp login --no-localhost

Lúc này, bạn sẽ được nhắc đăng nhập vào Google. Mọi dự án mà bạn tạo bằng CLI đều được liên kết với Tài khoản Google này.

4. Tạo dự án mới

Tạo một dự án độc lập

Hãy bắt đầu bằng cách tạo một dự án Google Apps Script độc lập bằng lệnh sau:

mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab"  --type standalone;

Bạn vừa tạo một Dự án Apps Script trong thư mục "clasp_codelab"!

(Không bắt buộc) Sao chép một dự án hiện có

Hãy thử tạo một tập lệnh giới hạn vùng chứa cho Tiện ích bổ sung Google Trang trình bày.

Để thực hiện việc này, hãy truy cập vào slides.google.com và tạo bản trình bày mới. Thay đổi tên bản trình bày thành "clasp Codelab Test" (Kiểm thử khoá học của lớp học lập trình). Trong tiêu đề, trong phần Tools (Công cụ), hãy nhấn vào Script Editor... (Trình chỉnh sửa tập lệnh...).

Thao tác này sẽ mở dự án Apps Script tại script.google.com. Để sao chép một dự án, chúng ta cần có Script ID. Bạn có thể tìm thấy mã này trong URL dự án Apps Script sau ngày /projects/. Sao chép giá trị và dán vào lệnh sau:

clasp clone <scriptID>

Kết quả đầu ra sẽ có dạng như sau...

4e3b128f4dcf6467.gif

Lúc này, bạn đã tải dự án xuống trong thư mục hiện tại. Sử dụng trình chỉnh sửa bạn yêu thích để xem nội dung của Code.gs (một hàm trống).

5. Kéo & Đẩy tệp

Chỉnh sửa mã trên script.google.com

Giờ đây, bạn đã có thể sao chép một dự án, hãy tìm hiểu cách kéo và đẩy tệp. Chúng tôi sẽ hướng dẫn bạn các bước để chỉnh sửa trên đám mây qua script.google.com và kéo vào cục bộ trên máy tính của bạn. Hãy mở tập lệnh trên đám mây:

clasp open

Bây giờ, khi đã sử dụng trình chỉnh sửa trực tuyến, chúng ta sẽ chỉnh sửa một số mã trực tuyến mà sau này chúng ta sẽ tìm nạp bằng clasp.

Để tạo tệp Apps Script mới, ở bên trái trình chỉnh sửa, bên cạnh Files (Tệp), hãy nhấp vào biểu tượng Thêm tệp thêm tệp > Tập lệnh. Nhập tên utils/strings. Trong tệp mới tạo, utils/strings.gs, hãy thay thế mã bằng đoạn mã sau:

var world = "世界";

Trong Code.gs, hãy thay thế mã hiện tại bằng đoạn mã sau:

function hello() {
  Logger.log("Hello, " + world);
}

Ở trên cùng, hãy nhấp vào Lưu lưu.

Để chạy hàm này, ở đầu trình chỉnh sửa, hãy chọn hello trong danh sách thả xuống hàm rồi nhấp vào Run (Chạy).

Lời chào sẽ xuất hiện ở cuối nhật ký thực thi.

Chỉnh sửa mã cục bộ

Hãy quay lại dòng lệnh nơi chúng ta đã sao chép dự án lần gần đây nhất. Bạn có thể nhận thấy rằng mã của chúng tôi hiện không đồng bộ với trình soạn thảo trực tuyến. Để khắc phục vấn đề đó, hãy lấy mã từ dự án trực tuyến của chúng ta.

clasp pull

Giờ hãy quay lại phần mã. Bạn sẽ nhận thấy có một thư mục dành cho các phần mềm tiện ích của chúng ta. clasp CLI tự động chuyển đổi ký tự dấu gạch chéo / thành các thư mục trên hệ thống tệp cục bộ.

Trong trình chỉnh sửa văn bản bạn yêu thích, hãy chuyển đến util/strings.gs rồi thay thế tên biến world thành mondo. Ngoài ra, hãy cập nhật Code.gs bằng cách thay thế world thành mondo. Để cập nhật mã đã cập nhật trên script.google.com, hãy đẩy mã đã chỉnh sửa vào.

clasp push

Chỉ vậy thôi! Mã của bạn hiện đã được cập nhật vào script.google.com.

6. Tạo phiên bản và triển khai

clasp giúp bạn quản lý các phiên bản và quá trình triển khai. Đầu tiên là một số từ vựng:

  • Phiên bản: "Bản tổng quan nhanh" của một dự án tập lệnh. Phiên bản có thể được coi là một nhánh chỉ đọc dùng để triển khai.
  • Triển khai: Một bản phát hành đã xuất bản của dự án tập lệnh (thường ở dạng tiện ích bổ sung hoặc ứng dụng web). Cần có số phiên bản.

Hãy tạo một phiên bản tập lệnh của chúng ta:

clasp version "First version"

Bằng cách sử dụng chuỗi phiên bản đã ghi nhật ký mà chúng ta đã tạo thay cho [version], chúng ta có thể triển khai tập lệnh:

clasp deploy 1 "First deployment"

Lệnh clasp deploy xem xét tệp kê khai của bạn và tạo một phiên bản triển khai mới. Mã của bạn hiện đã được triển khai dưới dạng tệp thực thi. Hãy tìm hiểu thêm về điều này trong hướng dẫn triển khai.

7. Vậy là xong!

Chúng tôi hy vọng Apps Script CLI là một công cụ đơn giản giúp bạn quản lý các dự án Apps Script.

Nội dung đã đề cập

  • Cách tạo dự án Apps Script mới
  • Cách sao chép, đẩy và kéo các dự án hiện có
  • Cách quản lý việc triển khai tập lệnh của bạn

Khoá truy cập hiện đã có trên GitHub và chúng tôi cũng chào đón các tính năng cũng như bản vá mới.

Chúng tôi rất mong được chứng kiến thành quả của bạn!