Как импортировать и использовать функцию в другой функции в JS - PullRequest
0 голосов
/ 17 мая 2019

У меня есть основной файл index.js, и я хочу импортировать и использовать функции из него в другом файле js.

Я пытался импортировать файл с помощью require, но он не работал. Может кто-нибудь помочь мне с предложением.

index.js

   function dcLib() {
       function test() {
          console.log('Hi');
       }
       return {
          test:test
       }
  };
   export default dcLib;

column.js

   const dcLib = require('../index');
   dcLib.test()    

Приведенный выше код дает ошибку как

      TypeError: dcLib.test is not a function

1 Ответ

0 голосов
/ 17 мая 2019

Либо сделать:

const dcLib = require('../index');
dcLib.default().test();

... или, если вы предпочитаете это, вы можете сделать:

const dcLib = require('../index').default;
dcLib().test();

Или, проще (ES6), просто сделайте:

import dcLib from './test';
dcLib().test();

Импорт и экспорт ES6 ведут себя иначе, если вы используете require вместо import. Кроме того, все немного меняется в зависимости от среды и, в конечном итоге, транспилятора, если таковой используется. Узнайте больше об этом здесь, где Феликс Клинг сделал довольно исчерпывающий обзор такого аргумента

Как упомянуто в комментарии, я сделал рабочий пример, чтобы поиграть на stackblitz, не стесняйтесь поиграть с ним в обоих случаях: https://stackblitz.com/edit/js-3wwz8a?file=index.js

...