首頁>技術>

首先需要獲取blockly程式碼,官方文件中獲取blockly程式碼有npm、github、Unpkg等多種方式。本文使用github,訪問blockly github倉庫連結https://github.com/google/blockly並下載,下載後的blockly程式碼目錄結構如下:

blockly程式碼目錄結構

注:上手階段只需關注圖中紅色標註的三個檔案和目錄,其中msg目錄暫時只用到msg/js目錄中的語言包,本文采用msg/js/zh-hans.js,表示為程式碼塊使用的語言為中文。

專案目錄結構

新建目錄名為blockly-demo的資料夾,增加index.html,將已經下載的blockly程式碼也複製到該目錄下,如下圖:

blockly-demo專案目錄結構

匯入基礎模組

使用自己喜歡的編輯器,新增如下程式碼,使用blockly需要引入blockly_compressed.js、blocks_compressed.js、msg/js/zh-hans.js三個基礎模組,其中blockly_compressed.js為核心指令碼,blocks_compressed.js為核心圖形程式碼塊集,zh-hans.js為語言模組,本例使用中文。

工作區=工具箱+編輯區

要建立工作區首先需要建立一個空白的div元素來承載,另外透過嵌入xml來表示工具箱,由於xml不能在瀏覽器中正常渲染,因此需要設定為不可見,編輯index.html增加如下程式碼

<script>  var workspace = Blockly.inject('blocklyDiv',                                 {toolbox: document.getElementById('toolbox')});</script>

index.html的完整程式碼參考

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8"/>  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>  <title>blockly demo</title></head><body>  <div id="blocklyDiv" style="height: 480px; width: 600px;"></div>  <xml id="toolbox" style="display: none">    <block type="controls_if"></block>    <block type="controls_repeat_ext"></block>    <block type="logic_compare"></block>    <block type="math_number"></block>    <block type="math_arithmetic"></block>    <block type="text"></block>    <block type="text_print"></block>  </xml>  <script src="./blockly/blockly_compressed.js"></script>  <script src="./blockly/blocks_compressed.js"></script>  <script src="./blockly/msg/js/zh-hans.js"></script>  <script>    var workspace = Blockly.inject('blocklyDiv',        {toolbox: document.getElementById('toolbox')});  </script></body></html>

此時瀏覽器再次開啟或者重新整理已開啟的index.html,頁面顯示如下圖,試試拖放工具箱中的程式碼塊到編輯區,此時我們就完成了一個固定大小的工作區的建立。

完成工作區的注入

7
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 從0到1詳解資料探勘過程