Проблема при запросе пакетов в комплекте с веб-пакетом

Я могу использовать библиотеки с узлом, например:

const API = require("api");
const Service = require("service");

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

const { API } = require("api");
const Service = require("service").default;

Это мой webpack.config.js

const path = require("path");

module.exports = {
  entry: "./libs.js",
  output: {
    path: path.resolve(__dirname, "out"),
    filename: "bundle.js",
    library: "bundle",
    libraryTarget: "var",
  },
};

Это ожидаемо или я что-то упускаю?

Спасибо!

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
77
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша текущая конфигурация с libraryTarget: 'var' предоставляет возвращаемое значение вашей точки входа как:

exports.default = /* return value of entry point */

Установите для параметра LibraryTarget значение 'commonjs', чтобы возвращаемое значение вашей точки входа было присвоено объекту экспорта, а не переменной по умолчанию.

module.exports = /* return value of entry point */

Если модулю назначен желаемый объект экспорта module.exports, вы можете запросить его напрямую.

const path = require("path");

module.exports = {
  entry: "./libs.js",
  output: {
    path: path.resolve(__dirname, "out"),
    filename: "bundle.js",
    library: "bundle",
    libraryTarget: "commonjs",
  },
};

Другие вопросы по теме

Как развернуть многоплатформенный проект WebAssembly Kotlin на веб-сервере?
Использование NPM для создания приложения React: СЕРЬЕЗНОЕ ИЗМЕНЕНИЕ: webpack <5 используется для включения полифилов для основных модулей node.js по умолчанию. Это уже не так
Готовая продукция NextJS React с потрясающими значками
Ошибка Angular 18 и SignalR при создании приложения: [ОШИБКА] Не удалось разрешить «url», «https», «http», «util» из источника событий
Почему мои файлы Scss генерируются также с расширением .js? ( scs > css и js)
Проект NX Angular с автоматическими полифилами в зависимости от .browserslistrc
Автономная библиотека веб-пакетов React
Циклическая зависимость Webpack при импорте из индексных файлов
React с Vite v5 не разделяет файлы SCSS на несколько фрагментов CSS в производственной сборке
Как устранить ошибку «Ошибка анализа модуля: неожиданный токен» для собственных загрузчиков Webpack, которые возвращают строку?

Похожие вопросы

Не удалось создать пользовательский тип ответа в Express.js с помощью TypeScript
Загрузите видео на S3 с Android с помощью Nextjs Backend
Ошибка для angular 7.2. Путь к данным «.builders['application']» должен быть объектом
Используйте сертификат PFX для получения токена Microsoft Entra. Ошибка: secretOrPrivateKey должен быть асимметричным ключом при использовании RS256
Мой файл докеров для развертывания моего углового приложения не запускает приложение с помощью веб-сервера ни nodeJs, ни nginx
Сокет Node.Js зависает в пуле соединений ClickhouseDb
Невозможно получить содержимое стенограммы через Graph API
Как создать диаграммы на моем веб-сайте JavaScript, используя данные из базы данных MySQL. Использование внешнего интерфейса EJS
Ошибка: оценка не удалась: TypeError: невозможно прочитать свойства неопределенного значения (чтение «по умолчанию»)
Как обрабатывать несколько запросов (Express.js) с помощью операции вставки mongodb