无法使用 Webpack 2.2 导入 Reveal.js

Can't import Reveal.js with Webpack 2.2

我正在尝试使用 imports-loader 使用 webpack 2.2 导入 reveal.js,但我一直收到错误消息:

未捕获类型错误:无法设置未定义的 属性 'Reveal'

我正在尝试像这样导入它: require('imports-loader?this=>window!reveal.js');

那应该将全局 window 变量注入为 this

导致错误的部分代码是这样的:

(function (root, factory) {
    if (true) {

        root.Reveal = factory();
    }
})(undefined, function () {
最后一行的

undefined 作为 root 参数传递给函数。

这段代码是 webpack 导入 reveal.js 库的方式。出于某种原因,当 webpack 将代码捆绑在一起时,它似乎正在用 undefined 替换单词 this

如何使用 webpack 正确导入此库?我也试过脚本加载器,但我得到了同样的错误。

在 webpack 配置中:

rules: [
  { parser: { amd: false }}
]

这将阻止 webpack 定义 AMD 定义变量,这就是 reveal.js 在其工厂包装器中触发该条件的原因。

之后我还通过

导入reveal.js和head.js
import head from 'headjs/dist/1.0.0/head';
import Reveal from 'reveal.js/js/reveal';

// Reveal.initialize(