Как импортировать автономную сборку модуля с browserify? - PullRequest
0 голосов
/ 14 октября 2018

Мой вопрос заключается в том, как мне добиться импорта отдельного модуля, полученного с помощью browserify, в другой файл javascript.Вот некоторые конкретные детали:

Я создал автономный модуль с browserify следующим образом:

browserify module.js --s module_name > output.js

Файл module.js содержит в конце строку

module.exports = module_name;

Внутри файла "use_module.js" я теперь могу использовать модуль module_name, с таким кодом в некотором html-файле:

<sctipt src="output.js">
<sctipt src="use_module.js">

Но я бы хотел указать только скрипт "use_module.js "в моем html-файле и каким-то образом импортировать" output.js "внутри" use_module.js "непосредственно в коде javascript.Я попробовал два разных подхода:

  • Я попробовал javascript import module_name from './output.js' внутри use_module.js, но затем он не может найти модуль module_name.Почему-то я не уверен, что module.exports - это то же самое, что и export, и в любом случае, то, что browserify делает с моим module.exports.(Я очень запутался во всем этом).

  • Я пытался с require(./output.js), а затем повторно использовал browserify, но затем я получаю много странных ошибок с browserify, около тоннынедостающих модулей.Может быть, мне следует указать информацию о некоторых модулях в файле рядом с «output.js», который может обрабатывать browserify, но я не знаю, на самом деле.

1 Ответ

0 голосов
/ 14 октября 2018

Я понял, что не работает в обоих подходах:

  • Как я думал, import работает только с export, а не modules.exports.Кроме того, я прочитал, что browserify не может работать с синтаксисом import/export, который все еще слишком новый.

  • Что еще интереснее: файл с просмотром файлов содержит множество вызовов require(...), которые относятся к функциисозданный browserify, а не к ключевому слову CommonJS require.Конечно, browserify не знает разницы и поэтому ищет тонны модуля для импорта во второй раз.Все, что нужно сделать, это переименовать слово «требовать» во что-то другое, и browserify может быть применен во второй раз ...

Однако я не нахожу свой ответ полностью удовлетворительным: должен быть правильный способ сделать это ...

...