Javascript 未定义网页包-u
当我运行webpack时,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
在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