Как вывести модули в Browserify? - PullRequest
0 голосов
/ 01 марта 2020

У меня возникают проблемы с выяснением, как именно выполнить внешний модуль с помощью Browserify в Gulp. Из документов я могу выяснить, использовать ли .external ([здесь или здесь массив или строка]), но «где» вывод этого модуля и «как» мне требовать его от других модулей - какой путь мне использовать?

Я добавил плагин @ babel / transform-runtime и вот основные c урезанные части, где я пытаюсь получить внешний модуль и требовать модуль.

В Gulp с помощью browserify

let src_path = 'src/';
let modules_path = src_path + 'modules/';

... })
    .external( './' + modules_path + 'dynamic-module/index.js' ) // <-- is this the correct way of doing it? I states in the docs that I have to prepend with a ./
    .transform(
        babelify.configure(
            {
                'presets'   : ['@babel/env'],
                'plugins'   : ['@babel/transform-runtime']
            }
        )
    );
...

И в модуле я пытаюсь потребовать его, нажав на ссылку:

$('.dynamic_module').on('click', async function ( e ) {
    e.preventDefault();

    // What I've tried so far:
    let dymo = await require('dynamic-module');
    let dymo = await require('../dynamic-module/index.js'); // <-- the actual relative path in my own structure
    let dymo = await require('./dynamic-module'); // <-- prefixed with ./ and removed index.js
    let dymo = await require('./dynamic-module/index.js'); // <-- yeah, and now actually just wild guessing as the docs are not very clear on how to implement this

    // Also tried import. As said, totally wild guessing at the point
    let dymo = await import('dynamic-module');
    let dymo = await import('../dynamic-module/index.js'); // <-- the actual relative path in my own structure
    let dymo = await import('./dynamic-module'); // <-- prefixed with ./ and removed index.js
    let dymo = await import('./dynamic-module/index.js'); // <-- yeah, and now actually just wild guessing as the docs are not very clear on how to implement this
});

Также пробовал без асинхронного / ожидание ... без изменений.

Сейчас Я бы ожидал, что Browserify будет «выводить» этот модуль «куда-то» ... чтобы я мог динамически требовать его… если я, с другой стороны, должен сам «собрать» его вручную, я найду документам не хватает каких-либо объяснений в этом направлении.

Итак, если бы кто-то мог объяснить, как применить экстернализацию модулей в заданном рабочем процессе, я был бы более чем счастлив, поскольку я не могу от документов и поиска в Google дерьмо из этого найти любую информацию, которая имеет смысл. Однако я могу найти много других людей, имеющих такие же проблемы ...

...