這篇文章主要介紹“react裝飾器報(bào)錯(cuò)如何解決”,在日常操作中,相信很多人在react裝飾器報(bào)錯(cuò)如何解決問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”react裝飾器報(bào)錯(cuò)如何解決”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),江都企業(yè)網(wǎng)站建設(shè),江都品牌網(wǎng)站建設(shè),網(wǎng)站定制,江都網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,江都網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
react裝飾器報(bào)錯(cuò)的解決辦法:1、通過(guò)“create-react-app mobx-study”創(chuàng)建項(xiàng)目;2、通過(guò)“yarn add -D react-app-rewired customize-cra”安裝插件;3、修改package.json文件中scripts腳本;4、在項(xiàng)目根目錄下創(chuàng)建“config-overrides.js”和“.babelrc”即可。
一、decorators裝飾器報(bào)錯(cuò)@
在初次使用React 的裝飾器時(shí),第一次在項(xiàng)目中使用 @
會(huì)報(bào)錯(cuò),原因是react默認(rèn)是不支持裝飾器的,所以才會(huì)報(bào)錯(cuò),所以是需要做一些配置來(lái)支持裝飾器。
【報(bào)錯(cuò)顯示:Parsing error: This experimental syntax requires enabling one of the following parser plugin(s): “decorators-legacy”, “decorators”.】
1. 創(chuàng)建項(xiàng)目
npm install -g create-react-app
// 安裝create-react-app,已安裝請(qǐng)忽略
create-react-app mobx-study
2. 安裝插件 —— 改變 create-react-app 中 webpack 配置
yarn add -D react-app-rewired customize-cra
yarn add -D @babel/core @babel/plugin-proposal-decorators @babel/preset-env
3. 修改package.json文件中 scripts 腳本
// package.json
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
}
4. 在項(xiàng)目根目錄下創(chuàng)建 config-overrides.js 并寫(xiě)入以下內(nèi)容
const path = require('path')
const { override, addDecoratorsLegacy } = require('customize-cra')
function resolve(dir) {
return path.join(__dirname, dir)
}
const customize = () => (config, env) => {
config.resolve.alias['@'] = resolve('src')
if (env === 'production') {
config.externals = {
'react': 'React',
'react-dom': 'ReactDOM'
}
}
return config
};
module.exports = override(addDecoratorsLegacy(), customize())
5. 在項(xiàng)目根目錄下創(chuàng)建 .babelrc 并寫(xiě)入以下內(nèi)容
{
"presets": [
"@babel/preset-env"
],
"plugins": [
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
]
]}
基本完成以上步驟就可以正常使用裝飾器了,再也不會(huì)報(bào) @ 的錯(cuò)誤了。同時(shí)Support for the experimental syntax ‘decorators-legacy’ isn’t currently enabled這個(gè)錯(cuò)誤也將消失。
二、對(duì)修飾器的實(shí)驗(yàn)支持功能在將來(lái)的版本中可能更改。在 “tsconfig” 或 “jsconfig” 中設(shè)置 “experimentalDecorators” 選項(xiàng)以刪除此警告。ts(1219)
設(shè)置 => 搜索experimentalDecorators => 打上勾勾
到此,關(guān)于“react裝飾器報(bào)錯(cuò)如何解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
當(dāng)前文章:react裝飾器報(bào)錯(cuò)如何解決
轉(zhuǎn)載來(lái)于:http://jinyejixie.com/article24/jojcce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、域名注冊(cè)、品牌網(wǎng)站建設(shè)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)