Webpack 加载遗留代码
Webpack load legacy code
我是一名 Webpack 初学者,他正在尝试通过使用 Webpack 和 Babel 在几个 ES6 模块中分解旧的 JavaScript/jQuery 应用程序来重构它。
到目前为止,我已经成功地重构了应用程序的核心组件,但现在我遇到了一个需要 jQuery (v2.2) 和另一个库 (BIMsurfer @V1
) 在全球范围内可用。
问题在于 BIMsurfer 库未设计为模块,而是使用 Grunt 生成缩小文件。
我已经看到我可以使用 webpack.ProvidePlugin
但我收到了这个错误:
TypeError: $.extend is not a function [bimsurfer.js:14]
我用最少的代码创建了一个 GitHub repo 来重现错误。
我的目标是用我的 JavaScript 库生成一个包,可以在多个应用程序中重复使用。
已下载您的存储库并进行了一些测试。 webpack 配置没问题。但还有其他问题需要解决。
- src/libs/jquery.js 文件为空。
- 在 src/libs/bimsurfer/bimsurfer.js 文件的第 15015 行和第 22438 行,WebGLDebugUtils 和 SceneJS_PubSubProxy 的声明缺少
var
关键字。
一旦你解决了这两个问题,你应该能够在 chrome devtool 中看到一个干净的控制台。
我是一名 Webpack 初学者,他正在尝试通过使用 Webpack 和 Babel 在几个 ES6 模块中分解旧的 JavaScript/jQuery 应用程序来重构它。
到目前为止,我已经成功地重构了应用程序的核心组件,但现在我遇到了一个需要 jQuery (v2.2) 和另一个库 (BIMsurfer @V1
) 在全球范围内可用。
问题在于 BIMsurfer 库未设计为模块,而是使用 Grunt 生成缩小文件。
我已经看到我可以使用 webpack.ProvidePlugin
但我收到了这个错误:
TypeError: $.extend is not a function [bimsurfer.js:14]
我用最少的代码创建了一个 GitHub repo 来重现错误。
我的目标是用我的 JavaScript 库生成一个包,可以在多个应用程序中重复使用。
已下载您的存储库并进行了一些测试。 webpack 配置没问题。但还有其他问题需要解决。
- src/libs/jquery.js 文件为空。
- 在 src/libs/bimsurfer/bimsurfer.js 文件的第 15015 行和第 22438 行,WebGLDebugUtils 和 SceneJS_PubSubProxy 的声明缺少
var
关键字。
一旦你解决了这两个问题,你应该能够在 chrome devtool 中看到一个干净的控制台。