首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Webpack 2.2导入Reveal.js

无法使用Webpack 2.2导入Reveal.js
EN

Stack Overflow用户
提问于 2017-03-09 01:23:04
回答 1查看 442关注 0票数 3

我尝试使用imports-loader导入带有webpack 2.2的reveal.js,但一直收到错误:

未捕获的TypeError:无法设置未定义的“property”属性

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

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

导致错误的代码部分如下:

代码语言:javascript
复制
(function (root, factory) {
    if (true) {

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

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

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

怎样才能正确的导入这个库呢?我也尝试过脚本加载器,我得到了同样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-09 05:33:38

在webpack配置中:

代码语言:javascript
复制
rules: [
  { parser: { amd: false }}
]

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

在此之后,我还将通过以下方式导入reveal.js和head.js

代码语言:javascript
复制
import head from 'headjs/dist/1.0.0/head';
import Reveal from 'reveal.js/js/reveal';

// Reveal.initialize(
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42677862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档