Как экспортировать объект JavaScript с помощью module.exports в пакете 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";

module.exports = elephant;

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

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

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

Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

Я предполагаю, что это относится к третьей строке в файле index.js. Как я могу исправить эту проблему? Как мне экспортировать свою объектную переменную и использовать ее в моем проекте узла? Спасибо за любую помощь!

1 Ответ

1 голос
/ 12 июля 2020

Нельзя смешивать import и module.exports

, используйте export default elephant вместо module.exports = elephant;

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