【问题标题】:Writing webpack browser code that works without webpack编写无需 webpack 即可工作的 webpack 浏览器代码
【发布时间】:2017-12-26 12:37:09
【问题描述】:

我正在制作一个 webpack 项目,但我希望即使没有 webpack 也能继续工作。具体来说,我需要将我的原生项目执行的脚本加载转换为 webpack 的 require 系统。

例如:

const Library = await require_script_promise("./Library.js");

应该变成(对于 webpack):

const Library = require("./Library.js");

我该怎么做?

【问题讨论】:

  • 我对 webpack 还很陌生,但我希望这个问题对大家也有用。

标签: javascript webpack compatibility


【解决方案1】:

我创建了这个替换 require 函数:

/**
 Polyfill for using require without webpack **/
if (typeof require != "function") {
    function require(path) {
        return new Promise(function (resolve, reject) {
            var xhr = new XMLHttpRequest();
            xhr.open("GET", path, true);
            xhr.addEventListener("load", function () {
                try {
                    var module = { exports: {}, path: path };
                    eval(this.responseText);
                    resolve(module.exports);
                }
                catch (anyError) {
                    reject(anyError);
                }
            });
            xhr.addEventListener("error", reject);
            xhr.send();
        });
    }
}

使用await 似乎效果很好:

const Library = await require("./Library.js");

Webpack 显然也处理了等待。

【讨论】:

    猜你喜欢
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多