以太坊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程式語言開發框架————12、聯絡開發者Solid框架
- 以太坊Solidity程式語言開發框架————13、配置檔案Solid框架
- 以太坊Solidity程式語言開發框架————16、Truffle命令指南Solid框架
- 以太坊Solidity程式語言開發框架————3、建立一個工程Solid框架
- 以太坊Solidity程式語言開發框架————4、編譯合約Solid框架編譯
- 以太坊Solidity程式語言開發框架————7、合約互動Solid框架
- 以太坊Solidity程式語言開發框架————8、測試合約Solid框架
- 以太坊Solidity程式語言開發框架————2、網路與APP部署Solid框架APP
- 以太坊Solidity程式語言開發框架————14、網路與APP部署Solid框架APP
- 用solidity語言開發代幣智慧合約Solid
- JavaFX桌面應用-構建程式框架Java框架
- 構建 iOS 風格移動 Web 應用程式的8款開發框架iOSWeb框架
- 應用程式通用開發框架框架
- 實驗6 C語言結構體、列舉應用程式設計C語言結構體程式設計
- 實驗6_C語言結構體、列舉應用程式設計C語言結構體程式設計
- 低程式碼開發:企業應用構建新模式模式
- C語言開發windows程式主要程式結構C語言Windows
- 分投趣fintoch系統合約開發分析(Solidity程式語言)Solid
- java開發系統核心:使用C語言開發系統應用程式JavaC語言
- 智慧合約語言 Solidity 教程系列6 - 結構體與對映Solid結構體
- ios應用開發+swift語言入門iOSSwift
- 元宇宙NFT鏈遊開發(農人計劃系統開發)Solidity程式語言元宇宙Solid
- 2021 年 iOS 應用程式開發七種最佳語言iOS
- 蘋果程式語言Swift解析:將推動應用開發鉅變蘋果Swift
- Solidity語言學習筆記————1、初識Solidity語言Solid筆記
- 使用Go語言開發iOS應用(Swift版)GoiOSSwift
- C 語言微服務框架構建 websocket 聊天室微服務框架架構Web
- OpenAI Codex完全通過自然語言構建遊戲應用 – AndrewMayneOpenAI遊戲
- 淺析低程式碼開發的典型應用構建場景
- Hardhat 開發框架 - Solidity開發教程連載框架Solid
- 索拉迪(SolaRoad)系統開發技術/Solidity語言Solid
- golang語言SAAS下多應用模式框架Golang模式框架