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();