Skip to content

Provide a sub-export for pageview feature #1013

@Mister-Hope

Description

@Mister-Hope

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions