當你連續寫了多個 Node 應用, 都想要 console 漂亮一點, 你可能會像下面這樣封裝一個函數git
import chalk from "chalk";
function noop(msg: string): string {
return msg
}
function log(fn: Function): (msg: string) => void {
return (msg: string): void => {
console.log(fn(msg));
};
}
export default {
success: log(chalk.green),
error: log(chalk.red),
warn: log(chalk.yellow),
info: log(chalk.cyan),
log: log(noop)
};
複製代碼
調用方式github
import log from './log'
log.success("hello green message!")
log.error("hello red message!")
log.warn("hello yellow message!")
log.info("hello cyan message!")
log.log("hello normal message!")
複製代碼
慢慢的發現每一個項目都須要這麼一個 log 文件, 是的! 咱們此時能夠考慮把這些經常使用的函數封裝集合到一個 npm 包裏面了!npm
考慮到代碼量的增長以及貢獻者的增長事先加入單元測試是頗有必要的瀏覽器
Travis CI 提供的是持續集成服務(Continuous Integration,簡稱 CI)。它綁定 Github 上面的項目,只要有新的代碼,就會自動抓取。而後,提供一個運行環境,執行測試,完成構建,還能部署到服務器。 bash
當 src 目錄新增一個實用函數文件, index.ts 可以自動抓取而後掛載在 module.export 上服務器
Object.defineProperty(module.export, 'log', {
configurable: false,
enumerable: true,
get: () => require('./log')
});
複製代碼
github.com/xiaoxiaojx/… 歡迎 🌟 Star 🌟 和 Pr 和 在項目中使用~框架