微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack output.jsonpFunction 无法防止命名冲突

如何解决Webpack output.jsonpFunction 无法防止命名冲突

webpack 版本 "webpack": "^4.32.2",

我有两个 webpack 包,每个包代表一个不同的网站。 在两个我有相同名称的不同模块:

./app/shared/logo/logo.jsx

当我在客户端级别(不触发页面重新加载)从网站 A 导航到网站 B

网站 B 尝试使用来自网站 A 的 logo.jsx 并且网站中断了。 我得到了使用 output.jsonpFunction 的建议,但结果仍然相同。

站点 A 配置:

 {name: 'client',target: 'web',mode: 'development',devtool: 'inline-source-map',performance: {
    hints: false,},entry: { main: `${paths.srcclient}/mainfile.js` },output: {
    path: paths.clientBuild,publicPath: paths.publicPath,filename: 'js/websiteA-[name]-[contenthash:8].js',chunkFilename: 'js/websiteA-[name]-[contenthash:8].js',libraryTarget: 'umd',library: 'websiteA',crossOriginLoading: 'anonymous',jsonpFunction: 'websiteA',module: {
    rules: clientLoaders,resolve: { ...resolvers },plugins: [...plugins.client],node: {
    dgram: 'empty',fs: 'empty',net: 'empty',tls: 'empty',child_process: 'empty',externals: {
    react: 'react','react-dom': 'react-dom','styled-components': 'styled-components',axios: 'axios',stats: {
    cached: false,cachedAssets: false,chunks: false,chunkModules: false,colors: true,hash: false,modules: false,reasons: false,timings: true,version: false,};

网站 B

{
  name: 'client',entry: { main: `${paths.srcclient}/mainFile.js` },filename: 'js/websiteB-[name]-[contenthash:8].js',jsonpFunction: 'webpackJsonp_websiteB',umdNamedDefine: true,};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。