Sentry-javascript: рдореЙрдбреНрдпреВрд▓ 'ngRaven' рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ! рдЖрдкрдиреЗ рдпрд╛ рддреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдо рдХреА рдЧрд▓рдд рд╡рд░реНрддрдиреА рдХреА рд╣реИ рдпрд╛ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВред рдпрджрд┐ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдорд╛рд░реНрдЪ 2016  ┬╖  23рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: getsentry/sentry-javascript

рдХрд░реНрдо рдЪрдореЗрд▓реА uint рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП karma.conf.js рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдпрд╣ рдореЗрд░рд╛ рдХреНрд░рдо рд╣реИред

рдлрд╝рд╛рдЗрд▓реЗрдВ: ['app/bower_components/jquery/dist/jquery.min.js',
'рдПрдкреНрд▓рд┐рдХреЗрд╢рди/bower_components/angular/angular.min.js',
'рдПрдкреНрд▓рд┐рдХреЗрд╢рди/bower_components/raven-js/dist/raven.js',
'рдРрдк/рдмреЛрд╡рд░_рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕/рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕/рдкреНрд▓рдЧрдЗрдиреНрд╕/рдПрдВрдЧреБрд▓рд░.рдЬреЗрдПрд╕'
]
рдШрдЯрдирд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ 'app/bower_components/raven-js/plugins/angular.js' рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рдореЙрдбреНрдпреВрд▓ 'ngRaven' рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреЗ рд╣реБрдП рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдУрд╣ рдареАрдХ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдгреАрдп рддрд░реАрдХреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП ngRaven рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

рд╕рднреА 23 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

+1

рдлрд┐рдХреНрд╕реНрдб ..
http://stackoverflow.com/questions/35980078/module-ngraven-not-available

рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдХреБрдЫ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдпреЛрдЧреНрдп рд╣реИ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдереЛрдбрд╝рд╛ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдБред :)

рдУрд╣, рдЬреЗрдХреЗ, рдореИрдВрдиреЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрдврд╝рд╛ред рдпрд╣ рдХреЛрдгреАрдп-рд░реЗрд╡реЗрди рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рдирд╣реАрдВред

рд╡рд░реНрддрдорд╛рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рдВрддрд░реА рдХреЛрдгреАрдп рдкреНрд▓рдЧрдЗрди рдЕрдм рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

https://docs.getsentry.com/hosted/clients/javascript/integrations/angular/

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ 'dist' 'app/bower_components/raven-js/plugins/angular.js' рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛ?

рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ [https://docs.getsentry.com/hosted/clients/javascript/integrations/angular/#bower] рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

<script src="/bower_components/raven-js/dist/plugins/angular.js"></script>

рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдмрд╛рдж рдХреЛрдгреАрдп рдореЗрд░реЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ 'dist' 'app/bower_components/raven-js/plugins/angular.js' рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛ?

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд░реЗрдЧрд╛ред

рдЕрдЧрд░ рдпрд╣рд╛рдВ рдХреЛрдИ рдореБрдЭреЗ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@рдмреЗрдирд╡рд┐рдиреЗрдЧрд░ https://plnkr.co/edit/S1Dk9t?p=preview рдпрд╣ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдирдореВрдирд╛ рд╣реИ,

https://github.com/getsentry/raven-js/blob/master/docs/integrations/angular.rst рдкрд░ рдЖрдзрд╛рд░рд┐рдд
рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ:
_рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╕реАрдбреАрдПрди рдПрдВрдЧреБрд▓рд░ рдкреНрд▓рдЧрдЗрди рдХреЛ рдСрдЯреЛ-рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрд╕реА рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдбреЙрдХреНрд╕ рдХрд╣рддрд╛ рд╣реИ, рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдХреГрдкрдпрд╛ plnkr . рдореЗрдВ рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
[$ injector:nomod ] рдореЙрдбреНрдпреВрд▓ 'ngRaven' рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ! рдЖрдкрдиреЗ рдпрд╛ рддреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдо рдХреА рдЧрд▓рдд рд╡рд░реНрддрдиреА рдХреА рд╣реИ рдпрд╛ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВред рдпрджрд┐ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдбреЙрдХреНрд╕ рдХреА рдЧрд▓рдд рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣реИ?

рдЗрд╕ рдкрд░ рдХреЛрдИ рднреА рд╕рдорд╛рдЪрд╛рд░? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдгреАрдп рдкреНрд▓рдЧрдЗрди рдХреЗрд╡рд▓ рдХреЙрдордирдЬреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╕рдордп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдареАрдХ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ

рдЖрдкрдХреЗ рдПрдХреАрдХрд░рдг рдкреГрд╖реНрда рдХреЗ рдмрд╛рдж рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: https://plnkr.co/edit/M5nt6Y?p=preview

@RobertBaron @mebibou - рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдРрдк рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░реЗрд╡реЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред Raven.install() рдХрд╣реЗ рдЬрд╛рдиреЗ рддрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╣реИ ,

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="https://cdn.ravenjs.com/3.6.1/angular/raven.min.js"></script>
<script>Raven.config('https://<key>@app.getsentry.com/<project>').install();</script>

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЬреИрд╕реЗ app.js ) рдмрд╛рдж рдореЗрдВ рдЕрд╡рд╢реНрдп рдЖрдиреА рдЪрд╛рд╣рд┐рдПред

рдУрд╣ рдареАрдХ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдгреАрдп рддрд░реАрдХреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП ngRaven рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред

+1

#413 рджреЗрдЦреЗрдВ, @benvinegar рдХреНрдпрд╛ рдпрд╣ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ?

@ рд╕рд┐рдЬрд╛ - рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд▓реЛрдЧ рдЗрд╕ рдкрд░ рдЯреНрд░рд┐рдкрд┐рдВрдЧ рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдореИрдВ рд╡рд┐рд▓рдп рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рдиреЗ рд░реЗрд╡реЗрди _before_ рдХреЛрдгреАрдп рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рд╕реАрдбреАрдПрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдмреЛрд▓реНрдб рдореЗрдВ рдмрд┐рдЯ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ

рдХрд╛рд▓рд╛ рдХреМрдЖ
.config('https://@sentry.io/')
.addPlugin (рд░реЗрд╡реЗрдиред рдкреНрд▓рдЧрдЗрдиреНрд╕ред рдХреЛрдгреАрдп)
редрдЗрдВрд╕реНрдЯреЙрд▓();

@theatrain рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ package.json рдкрд░ рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрджрд┐ рдЧрд▓реНрдк рдЗрдВрдЬреЗрдХреНрд╢рди рдпрд╛ рдХреБрдЫ рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдкрд░ рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЬрдм рд╕реЗ рдореИрдВ рдЧрд▓реНрдк-рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддрдм рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рдерд╛

    "overrides": {
        "raven-js" : {
            "main": [
                "dist/raven.js",
                "dist/plugins/angular.js"
            ]
        }
    },

рдореБрдЭреЗ рдШреБрд░рдШреБрд░рд╛рдирд╛ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдХреБрд░реВрдк рдФрд░ рдЫреЛрдЯрд╛ рдерд╛:

рдореЗрд░рд╛ app.js рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рдерд╛:

'use strict';

angular
  .module('sraApp', [
    'ngRaven'
  ]);

рдореИрдВрдиреЗ raven.js рдирд╛рдордХ рдПрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ

// redacted sensitive info
Raven
  .config('https://<code>@sentry.io/<myapp>')
  .addPlugin(Raven.Plugins.Angular)
  .install();

рдФрд░ рдЗрдирд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрдЬрд╛рдп index.html рдореЗрдВ:

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/raven-js/dist/raven.js"></script>
<!-- endbower -->
<!-- Outside of auto-managed bower, but still inside compile -> vender.js -->
<script src="bower_components/raven-js/dist/plugins/angular.js"></script>
<!-- endbuild -->

<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/raven.js"></script>
<script src="scripts/app.js"></script>
<!-- endbuild -->

рдЕрдм рдЬрдм рдореИрдВ grunt build:dist рдЬреЛ рдШреБрд░рдШреБрд░рд╛рдирд╛/рдЫреЛрдЯрд╛ рдХрд░рддрд╛ рд╣реИ, рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдЧрд╛ рддрд╛рдХрд┐ рдкреНрд▓рдЧрдЗрди рдкрдВрдЬреАрдХреГрдд рд╣реЛ рд╕рдХреЗред рдЗрдирд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЗрд╕рд▓рд┐рдП window.angular рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХреЛ рд╕реНрд╡рдд: рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдкреНрд░рд╡рд╛рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕рд╣реА рд╣реИ)

  • angular рдореЗрдВ рд▓рд╛рдУ
  • raven рдореЗрдВ рд▓рд╛рдУ
  • raven/plugins/angular.js рдореЗрдВ рд▓рд╛рдУ
  • config/addPlugin/рд╕реНрдерд╛рдкрд┐рдд ngRaven рд▓реЗрдХрд┐рди рдХреБрд░реВрдкрддрд╛/рдорд┐рдиреАрдлрд┐рдХреЗрд╢рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдареАрдХ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдФрд░ рдмрд╛рдд рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЙрдиреНрдлрд┐рдЧ рдмрд╛рдж рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рднреА рдореБрджреНрджреЗ рдкрд░ рдЯреИрдЧ рд╕реЗ рдЪреВрдХ рдЬрд╛рддреЗ рд╣реИрдВ)

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рддрдереНрдп рдХреЗ рдмрд╛рдж рд▓реЛрдб рдХреА рдЧрдИ рдПрдХ рд╣реЗрд░реЛрдХреВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред

'use strict';

angular.module('sraApp')
  .run(function (Raven, HEROKU_APP_ID, HEROKU_APP_NAME, HEROKU_RELEASE_CREATED_AT, HEROKU_RELEASE_VERSION, HEROKU_SLUG_COMMIT, HEROKU_SLUG_DESCRIPTION, NODE_ENV) {
    Raven.setRelease(HEROKU_RELEASE_VERSION);
    Raven.setEnvironment(NODE_ENV);
    Raven.setTagsContext({
      release_date: HEROKU_RELEASE_CREATED_AT,
      git_commit: HEROKU_SLUG_COMMIT,
      slug_description: HEROKU_SLUG_DESCRIPTION,
      application: {
        name: HEROKU_APP_NAME,
        id: HEROKU_APP_ID,
      }
    });
  });

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди? рд╣рдорд╛рд░реЗ рдХрд░реНрдо рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдХреЗ рд╕рд╛рде рднреА рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВред

@xeroxoid рд╣рдореЗрдВ рдХрд░реНрдо рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рднреА рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ Raven.config().addPlugin().install() рд░реВрдЯреАрди рдХреЛ рдЫреЛрдбрд╝ рд░рд╣реЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдВрддрд░реА рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдПред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде "рдХреЛрдгреАрдп рддрд░реАрдХрд╛" рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ ngRaven рдореЙрдбреНрдпреВрд▓ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдиреЗ Raven.config() рдХреЛ рдбреАрдПрд╕рдПрди рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рд╣реИред

addPlugin() рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рдХреЛрдгреАрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреА рд╣реИ рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбреАрдПрд╕рдПрди рдпреВрдЖрд░рдПрд▓ рдХреЗ рд╕рд╛рде)ред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рддрд╛рдХрд┐ Raven.config().addPlugin().install() рд╣рдореЗрд╢рд╛ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдкрд░ рднреА рдЪрд▓рддрд╛ рд░рд╣реЗ, рд╣рдо рдЕрдкрдиреЗ рд╕рд╛рдорд╛рдиреНрдп DSN url рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдВрддрд░реА рдХреЛ рднреЗрдЬрдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП config.shouldSendCallback рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред .

рдпрд╣ рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ рдХреЛ рдХреЛрдгреАрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдареАрдХ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗ!

рд╣рдо рд╡рд╣реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдХрд▓реА рдбреАрдПрд╕рдПрди рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рд╣рдорд╛рд░реЗ рджреЗрд╡ рдПрдирд╡реА рдХреЗ рд▓рд┐рдП рд╣реИ)ред https://[email protected]/1 рдЬреИрд╕рд╛ рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд░реЗрд╡реЗрди рдпреВрдЖрд░рдПрд▓ рдХреЗ рдЧреБрдгреЛрдВ рдкрд░ рдХреБрдЫ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкрде рдХреЗ рд╕рд╛рде рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рд▓рдВрдмреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдмрдВрджред рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдЕрднреА рднреА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dwelle picture dwelle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jaylinski picture jaylinski  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

simllll picture simllll  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mattkrick picture mattkrick  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ma2gedev picture ma2gedev  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ