在加载了脚本标签的脚本中使用Webpack外部

时间:2020-02-27 13:34:20

标签: javascript reactjs webpack dependency-injection dependencies

我正在尝试跨微服务托管React组件。我想将我的javascript文件捆绑到一个捆绑包中,并使其可供其他微服务下载和使用。由于我们所有的微服务都使用react和其他一些依赖项,因此我不想将它们包括在捆绑的文件中。我已将它们作为外部对象添加到我的webpack配置中:

externals: {
  'react': 'React',
  'react-dom': 'ReactDOM',
   ...
},

这是可行的,因为这些依赖项没有捆绑在一起,但是当我想在其他微服务(消费者端)中访问“托管组件”时,该托管组件不起作用:

<script src="path/to/hosted"></script>

我尝试将依赖项放在使用者端的window对象上:

import React from 'react';

window.libs.React = React;
...

但是通过这种方式,我可以像window.libs.React这样在托管方访问React,这似乎给开发带来了不便。现在,我认为我应该在webpack捆绑中以某种方式解决此问题,但我对此仍然坚持。有什么建议我应该检查哪些插件,或者有解决此问题的现有方法吗?

PS:这个概念不是我的主意,我只需要实现它,所以我无法真正将整个概念更改为例如使用npm软件包而不是整个组件共享的东西。

0 个答案:

没有答案