Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义网页包-u_Javascript_Webpack_Underscore.js - Fatal编程技术网

Javascript 未定义网页包-u

Javascript 未定义网页包-u,javascript,webpack,underscore.js,Javascript,Webpack,Underscore.js,当我运行webpack时,在window:窗口上返回为未定义。错误:未定义。我认为将\uuu放入插件将使其暴露在窗口中。我的理解不对吗 const webpack = require('webpack'); const plugins = new webpack.ProvidePlugin({ $: "jquery", _: "underscore" }); module.exports = { entry: { app: './src/main/ap

当我运行webpack时,
在window:
窗口上返回为未定义。错误:未定义。我认为将
\uuu
放入插件将使其暴露在
窗口中。我的理解不对吗

const webpack = require('webpack');

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

module.exports = {
    entry: {
        app: './src/main/app/components/main.module.js',
        vendor: [
            'jquery',
            'underscore'
        ]
    },
    output: {
        filename: './src/main/resources/dist/app/scripts/[name].bundle.js',
    },
    plugins: [plugins],
    devtool: 'inline-source-map'
};

您要将其作为全局变量添加吗? 尝试将其添加到.ts/.js文件:


window[''.]=require('下划线')

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

const plugins = new webpack.ProvidePlugin({
  $: "jquery",
  _: "underscore"
});
将允许通过
$
变量访问
/src/main/app/components/main.module.js
中的jquery库

如果要将jquery作为
窗口$
公开给窗口,您可以使用webpack,也可以在输入文件(main.module.js)中简单地更新窗口:


是否在索引文件中加载了下划线.js


是否$undefined?$已定义,这是奇怪的部分您不需要
解析
块来告诉Webpack在哪里可以找到
jquery
下划线
?请参阅providePlugin不向窗口公开LIB-它提供对Web包捆绑包中其他模块上下文中这些LIB的访问。可以使用公开加载程序添加到窗口:
window.$ = $; //$ is defined via providePlugin
window._ = _; //_ is defined via providePlugin