Webpack - _未定义

时间:2017-11-01 23:55:12

标签: javascript webpack underscore.js

当我运行webpack时,alert(document.body.childNodes[2].nodeValue);在窗口上返回为未定义:_。我认为将window._ ::: Error: _ is not defined放在插件中会将其暴露给_。我的理解不正确吗?

window

3 个答案:

答案 0 :(得分:1)

您是否尝试将其添加为全局变量? 尝试将此添加到.ts / .js文件中:

window['_'] = require('underscore');

答案 1 :(得分:1)

providePlugin用于在webpack包中的其他模块的上下文中使库可用。例如,providePlugin的使用:

const plugins = new webpack.ProvidePlugin({
  $: "jquery",
  _: "underscore"
});

将允许通过./src/main/app/components/main.module.js变量访问$中的jquery lib。

如果要将jquery作为window.$暴露给窗口,可以使用webpack的expose-loader,或者只是更新条目文件中的窗口(main.module.js):

window.$ = $; //$ is defined via providePlugin
window._ = _; //_ is defined via providePlugin

答案 2 :(得分:1)

您是否在索引文件中加载了underscore.js?

<script src = 'https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js'></script>