受到中間人的啟發,此Node.js工具鏈用磚塊和一系列插件編寫,以允許靜態Web應用程序快速創作。
這裡的重點是快速開發和部署在CSS或JavaScript上更重的應用程序,這是利用允許打字量最少的工具完成工作的工具(例如,較少的,手寫筆,Coffeescript,Jade)。最後,要優化文件管理,以便您的應用盡快加載(大概是通過某些CDN)。
首先,您需要安裝Systatic服務器。它實際上只是一個帶有許多預定義路徑和模板的磚瓦+奴役服務器。
npm install systatic -g
systatic new my_proj
cd my_proj
systatic
最後一個命令運行服務器,默認情況下,端口3000(例如磚塊,您可以使用--port更改端口)。
默認生成的項目將帶有config.json文件。該文件定義了各種源和插件組合。通常,您應該只遵循默認設置,但是如果您想更改任何內容(例如,將JavaScripts路由從/javascripts更改為/js )更改此文件。
由於要點是生成靜態站點,因此您運行的下一個命令將是build 。這將消除對Nodejs之類的應用程序服務器的需求,並允許您將靜態文件丟棄在CloudFront之類的地方。
它命令靜態站點構建為階段,類似於Maven等較大的構建系統。
階段(執行階段執行每個階段):
選擇一個階段將運行所有附加的插件,直到和包括該階段。
systatic merge
清潔輸出目錄,構建HTML資源,構建資產並將其合併為最小文件。
systatic test
做同樣的事情,但隨後還運行任何可選的靜態集成測試(當前沒有實現,但考慮諸如Qunit之類的東西)
使用該生成的靜態內容,接下來,您將需要部署到某些服務器,git reto,cdn ...等等。
systatic publish
我正在考慮將硬編碼的插件重新實現與NPM插件一起使用,該插件將配置為每個項目。這是為了允許第三方插件將自己的階段添加到構建/渲染工具鏈中。
當前的想法:
一個示例可能是,如果某人想添加一個函數以將用作CSS的圖標集中到精靈中,並將這些信息傳遞到下一個操作中(將綁定到壓縮階段)。