使用Webpack时'...未定义jQuery'但已定义jQuery

时间:2018-12-19 08:08:32

标签: javascript jquery webpack

当尝试在浏览器中加载捆绑的脚本文件时,我得到:

  

未捕获的ReferenceError:未定义jQuery

据说来自last line in my bundled underscore-min.js being the issue

}()

哪个没有任何意义?我不确定源地图文件是否使我误入歧途。我在webpack.config.js中的配置是这样的:

entry: {
  main: [ 
    './js/jquery.min.js', 
    './js/other.js', 
    './js/other2.js', 
    './js/underscore-min.js'
  ]
},     

...

plugins: {
  ...
  new webpack.ProvidePlugin({
    jquery: 'jquery',
    jQuery: 'jquery',
  }),
  ...
}

...

externals: {
  'jquery': 'jQuery',
  'jQuery': 'jQuery',
}

如果没有以上所述,依赖于jQuery的其他程序包的堆也将破灭。导致此问题的underscore-min.js脚本是否有独特之处?

1 个答案:

答案 0 :(得分:-1)

只需删除externals: { 'jquery': 'jQuery', 'jQuery': 'jQuery', }

如果您想使用externals

entry: {
  main: [ 
    './js/jquery.min.js', 
    './js/other.js', 
    './js/other2.js', 
    './js/underscore-min.js'
  ]
},     

...

...

externals: {
  'jquery': {
     root:'jquery',
     commonjs2:'jquery',
     commonjs:'jquery',
     amd:'jquery'
   }
},
output:{
   ...
   libraryTarget:"umd"
}

然后在您的html中添加脚本标签 <script src="some-resources/jquery.js"></script>