Как импортировать файл, который уже импортирует другой файл? - PullRequest
0 голосов
/ 17 января 2020

Javascript, ES6. У меня есть три файла:

встроенные функции. js

\*
    Bunch of small functions.
*/

некоторый модуль. js

import './inline-functions.js'

// uses many inline functions

main. js

import './inline-functions.js'
import './some-module.js'

// uses inline functions as well as classes from some-module.js

Теперь я использую код Visual Studio и хотел бы, чтобы Intellisense работал, но когда я редактирую main.js, он показывает только функции из inline-functions.js и все из 'some-module. js' недоступны, даже если есть оператор импорта. Однако, когда я комментирую импорт из some-module.js следующим образом:

// import './inline-functions.js'
// tries to use inline functions which are now not callable

Intellisense неожиданно показывает правильные имена и документацию для всех объектов. Это, конечно, невозможно использовать, потому что some-module.js теперь не может вызывать какие-либо встроенные функции.

Как правильно импортировать эти модули?

1 Ответ

1 голос
/ 17 января 2020

Вы можете получить доступ к функции модуля, только если вы экспортируете его из модуля.

Экспортируйте функцию из модуля, затем вы увидите ее в главном js.

Пример:

some-module. js

import './inline-functions.js'

const someFuncion1 = () =>  1;
const someFuncion2 = () => 2;

export {
    someFuncion1,
    someFuncion2
}

основной. js

import * as inline './inline-functions.js'
import * as some './some-module.js'

//Access it like 

inline.<function name>
some.<function name>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...