Eustia實(shí)用 JavaScript 工具庫(kù)
Eustia是一個(gè)用于生成JavaScript函數(shù)庫(kù)的工具。它能夠掃描代碼實(shí)時(shí)生成只包含所需方法的函數(shù)庫(kù)。
目前默認(rèn)函數(shù)庫(kù)除了underscore中使用較多的each、template等函數(shù)外,還包含類(lèi)創(chuàng)建、cookie操作、Dom操作、日期格式化等實(shí)用的小庫(kù),共150+個(gè)模塊,日常不斷更新中,詳細(xì)列表可點(diǎn)此查看。
安裝
你可以通過(guò)npm安裝Eustia。
npm install -g eustia
快速上手
假設(shè)你想html文件中使用trim方法,先直接在代碼中使用:
<html>
<head>
<meta charset="utf-8"/>
<title>Eustia</title>
<script src="util.js"></script>
</head>
<body>
<script>
var projectName = _.trim(' Eustia ');
// Some code...
</script>
</body>
</html>
然后跑下命令:
eustia build
該工具會(huì)掃描你的html代碼并生成一個(gè)util.js(默認(rèn)文件名)文件,大功告成!
使用配置文件
你可以只通過(guò)命令行來(lái)運(yùn)行這個(gè)工具:
eustia build -o util.js index.html *.js ...<list of files to be scanned>
當(dāng)然也可以使用一個(gè)配置文件來(lái)保存參數(shù)。這樣做還可以讓你同時(shí)保存多份配置文件生成不同的函數(shù)庫(kù)。
在你的項(xiàng)目根目錄創(chuàng)建一個(gè)命名為.eustia的文件。
{
"page": {
"files": "./layout/**/*.jade",
"output": "./static/js/eustia.js"
},
"node": {
"files": ["./lib/*.js", "./tool/**/*.js"],
"output": "./lib/util.js"
}
}
如果不傳入子命令,Eustia會(huì)在當(dāng)前目錄下尋找配置文件執(zhí)行build命令。
關(guān)于所有可用的配置項(xiàng),請(qǐng)查看相關(guān)文檔。
編寫(xiě)模塊
Eustia本身自帶了多個(gè)常用的工具函數(shù)。 如果需要添加其它函數(shù),請(qǐng)?jiān)诟夸浵聞?chuàng)建名為eustia的文件夾。
比如說(shuō),我想要一個(gè)能比較版本號(hào)大小的函數(shù)。首先在eustia文件夾下邊創(chuàng)建名為compareVersion的文件,然后再在里面編寫(xiě)實(shí)際的代碼。
// eustia/compareVersion.js
_('isStr each'); // 模塊依賴(lài)
function exports(v1, v2)
{
if (!isStr(v1) || !isStr(v2)) return;
...
}
之后你就可以在項(xiàng)目中的任何文件中使用compareVersion函數(shù)了。
使用library選項(xiàng)可以指定函數(shù)查找路徑,這對(duì)于項(xiàng)目間共享工具函數(shù)十分有用。另外你還可以通過(guò)eustia-lodash插件使用lodash方法。
