无法使用 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(
我正在尝试使用 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.jsimport head from 'headjs/dist/1.0.0/head';
import Reveal from 'reveal.js/js/reveal';
// Reveal.initialize(