Artalk icon indicating copy to clipboard operation
Artalk copied to clipboard

Provide a sub-export for pageview feature

Open Mister-Hope opened this issue 1 year ago • 1 comments

In most blog sites, there should be no comment box at homepage, timeline, catetgories/tags list.

However, these pages can contain article list, which can contain pageviews of the article.

To achieve the best performance, only pageview feature is needed here. (Especially for homepage, the full artalk chunk should not be forced loaded)

My package Waline provides a standalone pageview chunk as @waline/client/pageview for it, which solves the problem.

The main problem that Artalk has, is that not only it's not providing a separate chunk, but it also do not allow to "tree shake" the feature.

Though loadCountWidget is a sub export for the main module, it's coming from static member from artalk, i.e.:

class Artalk {
 // ...
 static loadCountWidget(e) {
   // ...
 }
}

const loadCountWidget = Artalk.loadCountWidget

export { loadCountWidget }

Suggested solution

  1. make loadCountWidget and all other possible exports tree-shakable. The "server link" should be required when calling these features alone.
  2. provide a separate chunk for pageview feature.

Mister-Hope avatar Oct 21 '24 17:10 Mister-Hope

Any update with this one?

Mister-Hope avatar Dec 15 '24 17:12 Mister-Hope