PORTFOLIO

Tegaki Editor / 外包修改案

Tegaki Editor 軟體修改

這個是一個外包案子,主要是修改別人的前端專案。 最麻煩的是,本專案要在安裝QT Web的Scanner上,所以debug起來非常麻煩。

這一次的修改案,是原專案不支援touch,需要我加上去,所以當然是想辦法去改了。

不過,本專案最重要的操作介面,被封裝起來了,是一個被uglify後的js檔,幾乎是無法修改。還好還是可以有解決。

PackagePatch

PackagePath

畢竟要修改在node_modules裡的套件檔案,要直接去修改檔案是不可能的;所以要利用Package-patch這個第三方Library。

此Library可以直接修改node_modules裡的檔案,修改後去執行package-patch的CLI,就會在專案目錄下新增一個修改檔。當要封裝或下一次要使用時,只要再執行一次CLI,node_modules裡的檔案,就會變成被修改後的樣子。

所以我就是利用Package Patch,來強制修改node_modules裡的檔案。

Clickable改為Touchable

在Click所回傳的event與touch所回傳的event,兩個是不一樣的。但業者希望同時做到可以使用滑鼠點擊與手指拖拉。

所以還有一個重要的Browser API叫Pointer。

我就將所有的onClick event改為onPointerUp event,因為Pointer event,無論在滑鼠點擊或手指觸控,所回傳的event的一致,也因此不需要再修改callback function的行為了。所以Pointer算是此次case的救命懶人包了。

::要注意Pointer Event的(Browser支援限制)[https://caniuse.com/?search=pointer]::

CONTACT