安利自己寫的easy clipboard庫

2022-03-04 07:13:42 字數 1207 閱讀 9680

clipboard.js 是乙個非常好用的剪下板外掛程式,但是隨著前端框架的演變,使用者與網頁互動的方式越來越多,不僅限於點選事件了,並且在很多情況下,我們可能不需要它強制性自帶的點選事件,所以我打算把 clipboard.js 精簡一下,把點選事件刪掉,這就是我開發 easy-clipboard 這個庫的初衷。

值得說明的是,這是我第乙個完整結合 ts + rollup + demo + jest 寫的乙個庫!

專案位址

1.semantic error ts2531: object is possibly 'null'.

在打包的時候,ts報了上面的錯誤,報錯**是:

window.getselection().removeallranges()
2.document.createrange() is undefined

在用 jest 進行測試的時候,我遇到了上面的報錯。通過定位,我發現是在乙個依賴包 select 包裡面發生了上面的報錯。我本來以為通過 jest 設定遮蔽 node_modules 裡面的依賴就可以解決,但是通過查閱文件,我發現 vue-cli 的預設 jest 設定已經幫我遮蔽了 node_modules 裡面的包。最後我通過列印 document.createrange 的內容才發現,這個報錯的原因是因為 jest 所依賴的 jsdom 裡面的 document 沒有 createrange 這個方法,所以最後我 mock 了這個方法解決了。這裡我才知道,在使用 jest 的時候,並不是完全像在瀏覽器裡面一樣,有些方法還是要自己 mock 。

3.please provide the repository token to upload reports via-t :repository-token

在使用 codecov 上傳覆蓋率結果的時候,我遇到了上面的報錯。通過查閱官網,我明白了通過 circleci 工具是可以不需要這個 token 的,但是 circleci 只能免費使用乙個 repo,而我在另乙個 repo 裡面使用了 circleci,所以我並不打算在這裡使用 circleci。只能繼續查閱資料了,最後我通過查閱 codecov 這個包的文件時發現,它支援下面這種寫法,問題解決。

export codecov_token=":uuid-repo-token"

# or

./node_modules/.bin/codecov --token=:token

給自己寫的

多吃些粗糧.給別人比他們自己期許的更多,並且用心去做 熟記你喜歡的詩歌 不要輕信你聽到的每件事,不要花光你的所有,不要想睡多久就睡多久。無論何時說 我愛你 請真心實意。無論何時說 對不起 請看著對方的眼睛。相信一見鐘情。永遠不要忽視別人的夢想。深情熱烈地愛,也許你會受傷,但這是使人生完整的唯一方法。...

自己寫的SQLHelper

using system using system.collections.generic using system.text using system.data.sqlclient using system.configuration using system.data namespace dal...

自己寫的alarm cond

include include errors.h include include typedef struct alarm tagalarm t alarm t alarm list null pthread mutex t mutex pthread mutex initializer pthre...