为什么ProvidePlugin与angularjs不兼容?

时间:2017-09-19 15:07:19

标签: javascript angularjs webpack webpack-2

我正在将项目从gulpbower移至npmwebpack。旧系统正在构建两个名为framework.jsvendor.js的文件。

在新配置中,我创建了两个入口点:

entry: {
  framework: './src/index.js',
  vendor: './src/vendor.js'
}
  • 框架指向应用程序
  • 供应商指向仅包含某些第三方库的文件,例如angular@1.5.8modernizrjquery,...一旦捆绑,它应该是部署到CDN

注意 framework不使用vendor

Webpack正在编译没有问题,framework运行良好。但每次我使用vendor

<script src="//cdn..../vendor.min.js" crossorigin="anonymous"></script>

我获得了大量angular is not definedangular.module is not a functionjQuery is not defined$ is not defined

我尝试使用ProvidePlugin像这样修复它:

new webpack.ProvidePlugin({
  angular: 'angular',
  jQuery: 'jquery',
  $: 'jquery',
  'window.$': 'jquery'
  'window.jQuery': 'jquery'
})

但它不适用于angular$,但适用于'jQuery`。

我也尝试过使用CommonsChunkPluginsexports-loaderaliasexternals,但我总是遇到同样的错误。

有人知道更多关于此错误的信息吗?你知道如何解决它吗?

0 个答案:

没有答案