装饰器@ es8的预案,现在还没通过。 【类】组件的。
装饰器是一种函数,写成 @函数名。它可以放在类和类方法的定义前面。react脚手架创建的项目【默认是不支持装饰器】,需要手动安装相关模块和添加配置文件。
安装
npm i -D customize-cra react-app-rewired
修改package.json文件中scripts命令
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
在项目根目录中添加config-overrides.js配置文件
此文件就是react工程用于增量配置react中的webpack配置,
可以理解为就是webpack.config.js的扩展文件,是给node所用,commonjs规范。
const {resolve}= require('path')
const {addDecoratorsLegacy, override} = require('customize-cra')
const customize = () => (config) => {
config.resolve.alias['@'] = resolve('./src')
return config
}
module.exports = override(
addDecoratorsLegacy(),
customize()
)
如果想要用@有代码提示
jsconfig.json要配置,和vue一样