当与rollupjs捆绑在一起时,看到" require未定义"错误

时间:2017-07-01 01:13:58

标签: rollupjs

尝试使用rollupjs将库捆绑在一起并将其添加到类似HTML的示例

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

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

但是,我看到了这个错误: 未捕获的ReferenceError:未定义require

可以在此处查看整个rollupjs配置https://github.com/binarykitchen/videomail-client/blob/feature/rollupjs/env/dev/rollup.config.js

使用cjs格式,因为它应该带有require函数,不是吗?有线索吗?

1 个答案:

答案 0 :(得分:0)

format: 'cjs'表示'创建一个可以在CommonJS环境中使用的包' - 即Node.js或Bundler。浏览器中没有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>