При связывании с rollupjs появляется ошибка "Требуется не определено"

Попытка связать здесь библиотеку с rollupjs и добавить это в пример HTML, подобный этому

<html>
    <head>
        ...
    </head>
    <body>
        ...
        <script src="/dist/videomail-client.js"></script>
        <script>
            var VideomailClient = require('videomail-client')

            ...
        </script>
    </body>
</html>

Но затем я вижу эту ошибку:Uncaught ReferenceError: require не определен

Всю конфигурацию rollupjs можно увидеть здесь https://github.com/binarykitchen/videomail-client/blob/feature/rollupjs/env/dev/rollup.config.js

Использование формата CJS, потому что он должен идти с этим require функция, не так ли? Есть какие-нибудь подсказки?

1 ответ

format: 'cjs' означает "создать пакет, который можно использовать в среде CommonJS" - т.е. либо Node.js, либо пакет. Нет никаких require функция в браузере.

Вы должны использовать format: 'iife' или же format: 'umd' с moduleName: 'VideomailClient'затем используйте его так:

<html>
    <head>
        ...
    </head>
    <body>
        ...
        <script src="/dist/videomail-client.js"></script>
        <script>
            var videomailClient = new VideomailClient(...);

            ...
        </script>
    </body>
</html>
Другие вопросы по тегам