我编写了一个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] 删除。
我来说两句