# Import third party module

**URL:** <https://discuss.elastic.co/t/import-third-party-module/118985>\
**Category:** Kibana\
**Created:** [February 8, 2018, 7:21am UTC](https://discuss.elastic.co/t/import-third-party-module/118985 "2018-02-08T07:21:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![whoami](https://avatars.discourse-cdn.com/v4/letter/w/a9a28c/32.png) [@whoami](https://discuss.elastic.co/u/whoami)\
**Post date:** [February 8, 2018, 7:21am UTC](https://discuss.elastic.co/t/import-third-party-module/118985/1 "2018-02-08T07:21:52Z")

</div>

how can we make third-party directive, service inject into every app, including kibana, timeline, and any other app plugin. do not tell me I have to import this module in every app

---

<div class="post-metadata">

**Author:** ![thomasneirynck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/thomasneirynck/32/23313_2.png) [@thomasneirynck](https://discuss.elastic.co/u/thomasneirynck)\
**Post date:** [February 8, 2018, 11:24pm UTC](https://discuss.elastic.co/t/import-third-party-module/118985/2 "2018-02-08T23:24:30Z")

</div>

hi @whoami,

what's wrong with importing a module into another module? 😕

You have a couple of options for modules:

1. You can create generic ES6 modules, and then import them straight into any other module using the ES6-import syntax.

2. You can also create an angular-directive/services/..., and import it using as a function parameter, like you would in angular. E.g.:

- define the `indexPatterns` service: [https://github.com/elastic/kibana/blob/master/src/ui/public/index\_patterns/index\_patterns.js#L48](https://github.com/elastic/kibana/blob/master/src/ui/public/index_patterns/index_patterns.js#L48)
- use it: [https://github.com/elastic/kibana/blob/master/src/ui/public/visualize/visualization.js#L14](https://github.com/elastic/kibana/blob/master/src/ui/public/visualize/visualization.js#L14)

---

<div class="post-metadata">

**Author:** ![whoami](https://avatars.discourse-cdn.com/v4/letter/w/a9a28c/32.png) [@whoami](https://discuss.elastic.co/u/whoami)\
**Post date:** [February 9, 2018, 1:36am UTC](https://discuss.elastic.co/t/import-third-party-module/118985/3 "2018-02-09T01:36:55Z")

</div>

no. if I use a new third-party directive in the global\_nav.js, its ok only in kibana app, but will be error in other app. i have to import this directive in every app, but the global\_nav.js is a common part for every app, why I have to import again in each app

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 9, 2018, 1:37am UTC](https://discuss.elastic.co/t/import-third-party-module/118985/4 "2018-03-09T01:37:02Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
