# Perspective Component Javascript

**URL:** <https://forum.inductiveautomation.com/t/perspective-component-javascript/68815>\
**Category:** Module Development\
**Tags:** perspective\
**Created:** [January 19, 2023, 8:22pm UTC](https://forum.inductiveautomation.com/t/perspective-component-javascript/68815 "2023-01-19T20:22:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonathan](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Post date:** [January 19, 2023, 8:22pm UTC](https://forum.inductiveautomation.com/t/perspective-component-javascript/68815/1 "2023-01-19T20:22:22Z")

</div>

Still trying to wrap my head around a module for a perspective component. I was curious as to why the RadComponents.js file is so large. Do the three components in the perspective.component project really need ~2500 lines of custom javascript? Or is some of that copied from a library an existing js library?

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/2/72c0f153dccb78004de3bd03017bdbe0e4bb846c.png)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 19, 2023, 8:31pm UTC](https://forum.inductiveautomation.com/t/perspective-component-javascript/68815/2 "2023-01-19T20:31:31Z")

</div>

The vast majority of that file (~1800 lines) is from the "Axios" HTTP client library that's imported. If you don't want it or need it for your component(s), remove it from the `package.json` in the client `package.json` (or remove it with npm).

Web dependencies have to be "assembled" together like this because the web world is a tangled nightmare. There's probably also dead-code elimination that could be turned on at the bundling level; I don't know offhand whether the example module does that.
