@babel/plugin-proposal-decorators: 装饰器编译成 es5

    @babel/plugin-proposal-class-properties: 转换静态类属性及使用属性初始值化声明的属性

    1. plugins: [
    2. ['@babel/plugin-proposal-descrators', { legacy: true }],
    3. ['@babel/plugin-proposal-class-properties', { loose: true }]
    4. ]

    babel presets 预设是插件包,插件的集合,其中包含很多插件

    function readonly (target, key, descriptor) {
        descriptor.writable = false;
    }
    class Person {
        @readonly PI = 3.14
    }
    
    const person = new Person();
    person.PI = 3.15;