以太坊Solidity程式語言開發框架————6、構建應用
預設構建
Truffle整合了預設的構建來方便使用。但也許不適合每個專案,所以你也許需要其它的來打包你的應用。在3. 構建流程裡檢視更多資訊。預設的構造目標是web應用,但也可以很容易的轉變為其它的構造流程,比如適用於命令列或庫的流程。
特性
預設構建有一些特性來幫助你快速的開始:
- 在瀏覽器內自動的初始化你的應用,包括引入你編譯的合約,部署的合約資訊,和以太坊客戶端資訊配置。
- 包含常見的依賴,如web3和Ether Pudding
- 內建支援ES6和JSX
- SASS支援
- Uglifyjs支援
配置
你可以隨間的修改預設的構建內容,原始的構建內容目錄如下:
app/
- javascripts/
- app.js
- stylesheets/
- app.css
- images/
- index.html
在1. 配置檔案中的構建配置檔案如下:
{
"build": {
// Copy ./app/index.html (right hand side) to ./build/index.html (left hand side).
"index.html": "index.html",
// Process all files in the array, concatenating them together
// to create a resultant app.js
"app.js": [
"javascripts/app.js"
],
// Process all files in the array, concatenating them together
// to create a resultant app.css
"app.css": [
"stylesheets/app.scss"
],
// Copy over the whole directory to the build destination.
"images/": "images/"
}
}
配置檔案中的配置鍵描述了最終的打包目標名稱,右邊的配置目錄或檔案陣列則是要打包的目錄的內容。打包過程根據檔案擴充套件,將檔案連線形成一個結果檔案,並放到構建的目標位置。如果指定的是一個字串而不是一個陣列,這個字串代指的檔案如果需要會直接拷到對應的構建目錄。如果字串以“/”結尾,則會被識別為一個目錄,整個目錄會不經調整直接拷貝到對應的目錄。所以的指定值都是預設相對於/app
目錄來指定的。
你可以在任何時間改變配置和目錄結構。並不強制要求需要javascript
和css
檔案目錄,所以刪除構建配置檔案中的對應配置就可以了。
特別注意:如果你想預設構建在前端初始化你的應用,務必保證有一個構造目標app.js
,因為預設構建會將相關程式碼附加到這個檔案,而不是其它檔案。
命令
要建立你的前端工程,執行:
truffle build
構建結果
構建結果存在./build
目錄。所以合約檔案則在對應的位置./build/contracts
。
注意事項
預設構建雖簡單易用,但它仍有一些缺點:
當前不支援
import
,require
等。所以不能提供browserify
,Webpack
和CommonJS
這樣的工具。由此讓依賴管理變得有些困難。這是一套自定義的構建系統,與其它流行構建系統不相容。
它可以擴充套件,但是自定義的方法和API。
預設構建在將來可能會被取代,但在較長時間裡,都將會是預設的以支援之前構建的DAPP.Truffle提供了許多方式來切換到不同的構建流程,可以在3. 構建流程這裡找到更多的例子。
如果任何問題,歡迎留言批評指正。
相關文章
- 以太坊Solidity程式語言開發框架————15、構建流程Solid框架
- 以太坊Solidity程式語言開發框架————5、移植Solid框架
- 以太坊Solidity程式語言開發框架————9、控制檯Solid框架
- 以太坊Solidity程式語言開發框架————1、Truffle簡介Solid框架
- 以太坊Solidity程式語言開發框架————10、外部指令碼Solid框架指令碼
- 以太坊Solidity程式語言開發框架————11、工作流Solid框架
- 以太坊Solidity程式語言開發框架————13、配置檔案Solid框架
- 以太坊Solidity程式語言開發框架————16、Truffle命令指南Solid框架
- 以太坊Solidity程式語言開發框架————12、聯絡開發者Solid框架
- 以太坊Solidity程式語言開發框架————3、建立一個工程Solid框架
- 以太坊Solidity程式語言開發框架————4、編譯合約Solid框架編譯
- 以太坊Solidity程式語言開發框架————7、合約互動Solid框架
- 以太坊Solidity程式語言開發框架————8、測試合約Solid框架
- 以太坊Solidity程式語言開發框架————2、網路與APP部署Solid框架APP
- 以太坊Solidity程式語言開發框架————14、網路與APP部署Solid框架APP
- 6.2 以太坊應用
- olidity語言開發以太坊智慧合約中的繼承繼承
- 以太坊構建DApps系列教程(一):應用程式規則和區塊鏈設定APP區塊鏈
- 用solidity語言開發代幣智慧合約Solid
- 以太坊開發實戰學習-高階Solidity理論 (五)Solid
- 以太坊智慧合約開發第五篇:字串拼接—Solidity字串Solid
- windows 以太坊開發框架Truffle環境搭建Windows框架
- JavaFX桌面應用-構建程式框架Java框架
- 以太坊開發框架Truffle基礎使用介紹框架
- 以太坊和Metamask開發web應用時不再需要密碼Web密碼
- 基於以太坊的58同城 | DApp開發與應用案例APP
- Solidity陷阱:以太坊的隨機數生成Solid隨機
- 以太坊Solidity型別介紹+實戰Solid型別
- 以太坊開發計劃
- 以太坊DApp開發指南APP
- 第6章 區塊鏈開發平臺:以太坊區塊鏈
- 以太坊智慧合約開發第六篇:truffle開發框架框架
- 實戰:以太坊 DApp 開發與構建 - 李明 | Jeth 第二期APP
- EthBox以太坊開發套件,一鍵安裝部署以太坊開發環境套件開發環境
- 實驗6 C語言結構體、列舉應用程式設計C語言結構體程式設計
- Polygon馬蹄鏈在以太坊上的智慧合約開發應用Go
- 全棧開發以太坊應用的完整教程指南與原始碼 - Dabit全棧原始碼
- 如何理解以太坊ABI - 應用程式二進位制介面