Не является функциональной ошибкой для пакета npm с использованием экспорта по умолчанию - PullRequest
0 голосов
/ 12 июля 2020

Я опубликовал пакет npm. Структура каталогов выглядит примерно так:

my-package
└── js/script.js
└── index.js

Файл js/script.js содержит объект, который является именем моей библиотеки, скажем, elephant. Примерно так:

var elephant = {
    function_1: function() {
        ...
    },
    function_2: function() {
        ...
    }
}

В моем index.js файле я экспортирую это так:

import { elephant } from "./js/script.js";

export default elephant;

После того, как я опубликовал и установил свой пакет, я попытался использовать его в в моем проекте используются следующие строки кода:

const elephant = require('my-package');
elephant.function_1();
elephant.function_2();

Однако, к сожалению, когда я запускаю свой сервер разработки (в проекте Vue), я получаю следующую ошибку:

"TypeError: elephant.function_1 is not a function"

Что я делаю не так? Функция четко определена, экспорт работает, но функция не обнаруживается. Любая помощь приветствуется. Спасибо.

1 Ответ

0 голосов
/ 12 июля 2020

Я не очень уверен, работает это здесь или нет, но я использую этот синтаксис, который работает очень хорошо. Вы можете попробовать это на сервере разработки. Это для index.js.

export {
    elephant
} from './js/script.js';

Экспортируйте ваш elephant из js/script.js

var elephant = {
    function_1: function() {
        ...
    },
    function_2: function() {
        ...
    }
}

export default elephant;

В случае ES5 и более старых версий javascript используйте этот синтаксис:

module.exports = elephant;

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