【问题标题】:Can't import Reveal.js with Webpack 2.2无法使用 Webpack 2.2 导入 Reveal.js
【发布时间】:2017-07-29 09:45:04
【问题描述】:

我正在尝试使用导入加载器通过 webpack 2.2 导入reveal.js,但我不断收到错误消息:

未捕获的类型错误:无法设置未定义的属性“显示”

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

这应该将全局窗口变量注入为this

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

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

        root.Reveal = factory();
    }
})(undefined, function () {

最后一行的undefined 作为root 参数传递给函数。

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

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

【问题讨论】:

    标签: javascript webpack reveal.js


    【解决方案1】:

    在 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(
    

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 1970-01-01
      • 2016-12-11
      • 2017-01-03
      • 2017-08-28
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多