Webpack:使用依赖于jquery的非模块javascript文件

时间:2017-06-21 07:26:34

标签: javascript jquery webpack

尽管有很多关于在webpack中使用jquery的问题,但我无法弄清楚如何包含依赖于jquery的JS文件并获得与脚本标记相同的效果。 github或Stack Overflow中提到的每个方法都没有详细解释,没有一个对我有用。另外,我没有webpack的经验。

我发现这些问题听起来与我的相近,但他们没有具体回答这个问题:question& another question& another。这些问题没有提供实现这一结果的步骤。

概述: 我正在使用此template。我已经用需要(非模块)JS文件的代码替换了nav-html文件。文件中的代码不会导出任何内容,它应该全局运行。

在进行任何更改之前,请参阅此commit了解基本模板。

方法1: 将js文件包含在webpack.config.vendor.js中的vendor数组中,请检查commit

结果1:我可以看到vendor.js中的代码,但是当我在chrome dev工具上放置断点时,代码没有被点击

方法2: 在boot.ts中添加了对js文件的require。请注意,它不是模块。请检查此commit

结果2:未捕获的ReferenceError:$未定义

方法3: 使用脚本加载器。请检查此commit

结果3:未捕获的ReferenceError:$未定义

1 个答案:

答案 0 :(得分:0)

抱歉,我没有看过你的代码,但希望这会有所帮助。

只需在其中一个模块中创建全局变量,就可以将模块中的任何内容暴露给全局范围。

import * as $ from 'JQuery';
window.$ = $;

这将允许您的非模块代码引用作为模块加载的Jquery。