0

我们有我们正在整合到一个使用传统的JS脚本网站的WebPack应用程序,然后将这些脚本定义全局变量。“导入全局变量”中的WebPack

里面我们的WebPack的应用程序,我们要import一些图书馆碰巧已经是页面脚本上。而不是下载相同的代码两次,一次是为一个脚本,并再次嵌入的WebPack包里面,我们想的WebPack不包括已在库页为一个脚本的代码,但仍然允许我们使用ES import语法来“导入”我们模块中的代码,尽管所讨论的脚本代码实际上是通过全局变量提供了库。

所以,我们有我们的页面上<script src="jquery.js">jquery.js理应不会是这样的:

window.jQuery = {}; 

而在我们通过的WebPack编译代码,我们想要做的:

import jQuery from 'jquery'; 
jQuery === window.jQuery // true 

是否有任何方式的WebPack进行配置,以解决某些依赖关系,像在上面的例子中“的jquery”,并确定它应该变换import代码到一个参考该全局变量?

此处的目的是逐步将选择在我们的遗留应用程序的新代码的新ES模块语法,同时还服用的事实,同样的代码已经可以在页面的脚本上的优势。

我查了Webpack's guide on "shimming",但它似乎提供的每一个能力除了我在这篇文章中描述的

+0

这不是一个重复的问题。我在问如何*导入*某物。另一个问题是询问如何排除某些东西。另一个人的意图和答案恰好相同。 – Jackson

回答

2

使用的WebPack的externals

某些进口产品的捆绑预防,而是在运行时检索 这些外部依赖。

externals: { 
    jquery: 'jQuery' 
}