Ua ntej peb yuav tsum tau ntxiv ib txoj haujlwm Sentry tshiab rau daim ntawv thov no; los ntawm Sentry lub vev xaib. Hauv qhov no peb xaiv React.
Peb yuav rov ua dua peb ob lub nyees khawm, nyob zoo thiab yuam kev, hauv daim ntawv thov nrog React. Peb pib los ntawm kev tsim peb daim ntawv thov pib:
npx create-react-app react-app
Tom qab ntawd peb import Sentry pob:
yarn add @sentry/browser
thiab pib nws:
react-app/src/index.js
...
import * as Sentry from '@sentry/browser';
const RELEASE = '0.1.0';
if (process.env.NODE_ENV === 'production') {
Sentry.init({
dsn: 'https://[email protected]/1289887',
release: RELEASE,
});
}
...
Kev soj ntsuam:
Thaum lub sij hawm txoj kev loj hlob, peb muaj lwm yam mechanisms rau kev soj ntsuam cov teeb meem, xws li lub console, yog li ntawd peb tsuas enables Sentry rau ntau lawm tsim.
Tom ntej no peb siv peb cov nyees khawm nyob zoo thiab yuam kev thiab ntxiv rau hauv daim ntawv thov:
react-app/src/Hello.js
import React, { Component } from 'react';
import * as Sentry from '@sentry/browser';
export default class Hello extends Component {
state = {
text: '',
};
render() {
const { text } = this.state;
return (
<div>
<button
onClick={this.handleClick}
>
Hello
</button>
<div>{text}</div>
</div>
)
}
handleClick = () => {
this.setState({
text: 'Hello World',
});
try {
throw new Error('Caught');
} catch (err) {
if (process.env.NODE_ENV !== 'production') {
return;
}
Sentry.captureException(err);
}
}
}
Cov kev pabcuam Sentry piav qhia qhov no los ntawm kev rub daim ntawv qhia chaw rau cov pob ntawv txo tom qab tau txais qhov yuam kev. Hauv qhov no peb tab tom khiav los ntawm localhost (tsis tuaj yeem siv tau los ntawm kev pabcuam Sentry).
Kev daws teeb meem (Source Maps)
Kev daws rau qhov teeb meem no yog khiav daim ntawv thov los ntawm pej xeem lub vev xaib. Ib qho yooj yim teb khawm siv GitHub Nplooj ntawv kev pabcuam (dawb). Cov kauj ruam siv feem ntau yog raws li hauv qab no:
Luam cov ntsiab lus ntawm cov ntawv tais ceev tseg tsim rau nplaub tshev docs nyob rau hauv lub hauv paus directory ntawm lub repository.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Tom qab kuv paub tias kuv yuav tsum siv dab tsi tsim-create-app home page muaj nuj nqi los tso daim ntawv thov. nqis los ntxiv cov hauv qab no rau package.json: