带有 Snowpack 的 JavaScript 私有类方法

nos*_*tio 7 javascript rollupjs snowpack acorn

我在前端代码中使用私有 JavaScript 类方法,在开发工作流中使用Snowpack

目前(从 v2.15.0-pre.5 开始),Snowpack 似乎不能很好地与私有类方法一起使用,即,以下在使用 构建时失败snowpack build

export class TestClass {
  #test() {
    console.log("testing...");
  }

  test() {
    this.#test();
  }
}
Run Code Online (Sandbox Code Playgroud)

复制的回购是here。克隆后,运行:

export class TestClass {
  #test() {
    console.log("testing...");
  }

  test() {
    this.#test();
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经打开了一个关于 Snowpack的问题,但显然问题在于与 Rollup 的集成,并且修复不是优先事项。

据我了解,要解决它,我们需要:

我想知道在我深入学习 Rollup 生态系统之前,是否有人可以帮助举个例子?

或者也许有另一种方法可以使它工作?

我现在重新使用_methodName而不是#methodName由于时间限制,但我计划在时间允许的情况下提供修复。

con*_*ion 5

雪包插件: snowpack-plugin-acorn-injection

扩展@noseratio的工作,我创建了一个名为 NPM 的依赖项snowpack-plugin-acorn-injection,它将相关的 Acorn 插件注入到 Rollup 的内部配置中。

该插件可用:


例子

依赖安装

安装插件和所需的相关 Acorn 插件(例如, acorn-stage3)作为开发依赖项。

脚步:

配置 Snowpack

使用相关的 Acorn 插件配置项目的Snowpack 配置snowpack-plugin-acorn-injection

npm install --save-dev snowpack-plugin-acorn-injection acorn-stage3
Run Code Online (Sandbox Code Playgroud)