跳到主要內容

初始化專案

blocklet init 指令是一個互動式工具,可協助您在現有目錄中建立新 blocklet 的基本結構。它會產生核心的 blocklet.yml 元資料檔案和其他必要的樣板檔案,將您目前的資料夾轉變為一個功能性的 blocklet 專案。

當您想從頭開始建立一個 blocklet,或將現有專案(例如,已有 package.json 的專案)轉換為 blocklet 時,此指令非常理想。如果您偏好從預先建立的範本開始,請參閱 blocklet create 指令。

互動式引導

當您在專案目錄中執行 blocklet init 時,CLI 將會引導您回答一系列問題,以設定您的 blocklet 元資料。

終端機

bash
blocklet init

過程如下所示:

text
This utility will walk you through create such files and folders(if not exists):
- blocklet.yml
- blocklet.md
- screenshots/

It only covers common items, if you want to check all items, please visit:
https://github.com/ArcBlock/blocklets#keyinfo-blockletjson

Press ^C to quit.
? blocklet title: (my-blocklet) my-first-blocklet
? Please write concise description: A new Blocklet project.
? What's the group of the blocklet? dapp
? What's the entry point of the blocklet? (index.js)

Is this OK: (Y/n) Y

Meta file .../my-blocklet/blocklet.yml was created
Doc file .../my-blocklet/blocklet.md was created
Screenshots dir .../my-blocklet/screenshots/ was created
.../my-blocklet/logo.png was created
.../my-blocklet/index.js was created

提示說明

提示說明
title您的 blocklet 的人類可讀名稱。這用於顯示目的。預設為目前目錄的名稱。
description關於您的 blocklet 功能的簡短單句摘要。
groupblocklet 的類型或類別。可用選項為 dappstaticapigateway
main您 blocklet 程式碼的進入點。對於 dapp 類型的 blocklet,這通常是一個腳本,如 index.js。對於 static 類型的 blocklet,這是包含您靜態資產的目錄(例如 .)。

初始化過程

該指令會執行幾個關鍵步驟來設定您的專案,包括透過連接到 DID 錢包為您的 blocklet 產生一個唯一的去中心化 ID (DID)。

Initialize Project

產生的檔案

成功初始化後,您將在專案中找到以下檔案和目錄:

  • blocklet.yml:最重要的檔案。它包含您 blocklet 的所有元資料,例如其名稱(即其 DID)、標題、描述和版本。 blocklet.yml yaml name: 'z8iZz5de8e9a6f8f2b3c1d9e2f7g2h1i8j3k4l5m' version: '0.1.0' title: 'my-first-blocklet' description: 'A new Blocklet project.' group: 'dapp' main: 'index.js' author: 'Your Name <your.email@example.com>' specVersion: '1.16.0' did: 'z8iZz5de8e9a6f8f2b3c1d9e2f7g2h1i8j3k4l5m' logo: 'logo.png' scripts: dev: 'node index.js'
  • blocklet.md:一個用於您的 blocklet 詳細文件和描述的預留 Markdown 檔案,將顯示在 Blocklet Store 中。
  • screenshots/:一個空目錄,您可以在其中放置 blocklet 的螢幕截圖,以便在 blocklet store 中顯示。
  • logo.png:您的 blocklet 的預設 logo 圖片。 預設 Blocklet Logo
  • 進入點檔案:根據您選擇的 group
    • 對於 dapp,會建立一個 index.js,其中包含一個簡單的 Node.js HTTP 伺服器。 index.js javascript const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello Blocklet\n'); }); const port = process.env.BLOCKLET_PORT || 3000; server.listen(port, () => { // eslint-disable-next-line no-console console.log(`Server running at http://127.0.0.1:${3000}/`); });
    • 對於 static,會建立一個 index.htmlindex.html html <!DOCTYPE html> <html> <head> <title>Hello Blocklet</title> </head> <body> <h1>Hello Blocklet</h1> </body> </html>
  • .gitignore:會新增一個基本的 .gitignore 檔案,以防止常見的建置產物和相依性被提交到版本控制中。

指令選項

您可以使用以下旗標來修改 blocklet init 的行為。

選項別名說明
--yes-y跳過互動式提示並接受所有預設值。這對於腳本編寫很有用。
--force-f--yes 的別名。
--did <did>提供一個特定的 Blocklet DID 來使用,跳過自動產生步驟。

範例:非互動式初始化

若要快速初始化專案而不需回答提示,請使用 -y 旗標。該指令將使用從您的 package.json(如果存在)或目錄名稱衍生的預設值。

終端機

bash
blocklet init -y

一旦您的專案初始化完成,您就可以開始建置了。下一步是在本地開發環境中執行您的 blocklet。

下一步:開發模式

了解如何在即時重載的開發伺服器中執行您的 blocklet。

了解更多