未使用 Webpack 编译的私有字段

问题描述

我正在尝试为我的类创建一个私有字段,但由于某种原因,webpack 拒绝编译它,它不断给我一个错误,这是一个例子

class Example {
  #privateField;

  constructor() {...}
}

这是这个例子产生的错误

ERROR in ./src/example.js 2:2
Module parse Failed: Unexpected character '#' (2:2)
You may need an appropriate loader to handle this file type,currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| class Example {
>   #privateField;
|
|   constructor() {
 @ ./src/example.js
 @ ./src/index.js

解决方法

Webpack,它本身只是一个 Javascript bundler,如果你有现代 JS 特性,webpack 不会理解这一点。

幸运的是,babel 和 webpack 可以很好地协同工作,因此要获得 ESNext 功能,您需要包含 babelLoader..

https://webpack.js.org/loaders/babel-loader/