Webpack, объединяющий простые файлы JS

Я понимаю, что это может доказать полное недопонимание того, для чего предназначен Webpack, но я нигде не смог найти прямого ответа.

В основном у меня есть два файла:

hello.js

function hello() {
    console.log('Hello, world!');
}

entry.js

require('./hello.js');

hello(); // should log 'Hello, world!'

Я хотел упаковать их в один файл для более быстрой загрузки с помощью Webpack. Мое условие состояло в том, что я не должен был каким- либо образом изменять hello.js (допустим, это большая запутанная библиотека, которую я не имею права изменять).

Я ожидал, что работает

webpack entry.js result.js

даст мне полезную связку в result.js но вместо этого result.js дает мне эту ошибку:

Uncaught ReferenceError: hello is not defined

Есть ли способ добиться того, чего я хочу? Просто объедините сценарии, чтобы сделать их доступными в глобальном пространстве имен без необходимости что-либо добавлять к ним?

1 ответ

Решение

Файл hello.js ничего не экспортирует, вы должны экспортировать функцию hello из файла hello.js следующим образом:

module.exports = function () {
  console.log('Hello, world!');
}

а затем в вашем файле входа.

var hello = require('./hello.js');
hello();
Другие вопросы по тегам