如何从<script>执行webpack模块?

我编写了一个ES6模块,看起来像这样:

export default function({makeCurrentVerUrl, verUrl, fileServer, downloadTokenType, appId}) {
    ...
}

通过webpack编译时,看起来像这样:

webpackJsonp([5,7],[
/* 0 */
/***/ function(module, exports) {

    'use strict';

    Object.defineProperty(exports, "__esModule", {
        value: true
    });

    exports.default = function (_ref) {
        var makeCurrentVerUrl = _ref.makeCurrentVerUrl;
        var verUrl = _ref.verUrl;
        var fileServer = _ref.fileServer;
        var downloadTokenType = _ref.downloadTokenType;
        var appId = _ref.appId;

        ...
    };

/***/ }
]);

很棒,但是我不确定如何运行此文件并调用默认函数。

我可以包括它

<script src="/path/to/script.js"></script>

我相信哪一个会自动运行它,但是如何从浏览器中调用在其中定义的函数呢?require在我的浏览器中未定义。

因此,最简单的方法output.library无需更改(假设您不想使所有内容都全球化))就是将所需的功能附加到window例如

// entry-point.js
import foo from './scripts/foo.js';
window.foo = foo;

或者,如果您想将一堆东西附加到window(而不仅仅是default),则可以执行以下操作:

Object.assign(window, require('./scripts/somelib.js'));

如果要在运行时包括一些脚本,还可以查看bundle-loader,内置的webpack功能require.context或dynamic import()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章