@babel/plugin-proposal-decorators配置以及代码示例
时间: 2023-07-14 12:12:07 浏览: 54
`@babel/plugin-proposal-decorators` 可以让你使用装饰器语法来修改类和类的属性。下面是配置和代码示例:
## 安装
首先需要安装 `@babel/plugin-proposal-decorators` 和 `@babel/core` :
```sh
npm install --save-dev @babel/core @babel/plugin-proposal-decorators
```
## 配置
在 `.babelrc` 文件中添加如下配置:
```json
{
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }]
]
}
```
或者在 `babel.config.js` 文件中添加如下配置:
```js
module.exports = {
plugins: [
['@babel/plugin-proposal-decorators', { legacy: true }]
]
};
```
## 代码示例
```js
// 使用装饰器修改类和类的属性
@injectable()
class UserService {
@inject() userRepository;
async getUser(id) {
return this.userRepository.findById(id);
}
}
```
上面代码中,使用了 `@injectable()` 和 `@inject()` 装饰器来修饰 `UserService` 类和 `userRepository` 属性。这样可以方便地实现依赖注入。