Сборка и публикация пакета npm с объектом пространства имен JavaScript - PullRequest
0 голосов
/ 12 июля 2020

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

elephant-lib-test
└── js/script.js
└── index.js
└── package.json

Файл js/script.js содержит объект пространства имен JavaScript:

var elephant = {
    printElephant: function() {
        console.log("Elephant");
    },
    doSomething: function() {
        console.log("Do something");
    }
}

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

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

export default elephant;

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

const elephant = require("elephant-lib-test");
console.log(elephant);
elephant.printElephant();
elephant.doSomething();

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

Module {default: undefined, __esModule: true, Symbol(Symbol.toStringTag): "Module"}

Однако третья строка вызывает ошибку:

Uncaught TypeError: elephant.printElephant is not a function

Что именно я делаю здесь не так? Прошу прощения, если это действительно очевидно, но я только начинаю с npm, поэтому я был бы очень признателен за ответ с небольшими пояснениями вместе с кодом. Вы можете найти фактический пакет здесь: https://www.npmjs.com/package/elephant-lib-test

Спасибо за любую помощь.

Изменить Я добавил export { elephant }; в конец файл js/script.js, но по-прежнему возникает та же ошибка.

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