javascript - Webpack 加载遗留代码
问题描述
我是一个 Webpack 初学者,他试图通过在几个 ES6 模块中使用 Webpack 和 Babel 来重构旧的 JavaScript/jQuery 应用程序。
到目前为止,我已经设法重构了应用程序的核心组件,但现在我被一个需要 jQuery (v2.2) 的模块和BIMsurfer @V1
全局范围内可用的另一个库 () 所困。
问题是 BIMsurfer 库不是作为一个模块设计的,而是使用 Grunt 来生成一个缩小的文件。
我已经看到我可以使用webpack.ProvidePlugin
但我收到了这个错误:
TypeError: $.extend is not a function [bimsurfer.js:14]
我用最少的代码创建了一个GitHub 存储库 来重现错误。
我的目标是用我的 JavaScript 库生成一个可以在多个应用程序中重复使用的包。
解决方案
下载你的回购并做了一些测试。webpack 配置很好。但是还有其他问题需要解决。
- src/libs/jquery.js 文件为空。
- 在 src/libs/bimsurfer/bimsurfer.js 文件的第 15015 和 22438 行,WebGLDebugUtils 和 SceneJS_PubSubProxy 的声明缺少
var
关键字。
一旦你解决了这两个问题,你应该能够在 chrome devtool 中看到一个干净的控制台。
推荐阅读
- reactjs - 如何在反应中使用 document.querySelector().innerHTML
- python - Selenium chromedriver 不执行 onclick 事件
- ruby-on-rails - 需要帮助在 Rails 中编写 sql 查询,所以我得到 ActiveRelation
- postgresql - IBM Cloud Compose PostgresSQL 致命:主机没有 pg_hba.conf 条目
- wordpress - 将 WordPress 放在我的 vps 服务器上后出现 404 错误,但主页确实可以工作
- c# - 将 KendoDatePicker 添加到网格
- php - Google 应用引擎 - 使用 Javascript 部署 Web 应用 -> Ajax GET -> PHP
- sql - 如何在 SQL Server 报表中创建报表文本框聚合表达式?
- java - Java 程序无法接收输入并且程序提前终止
- python - 如何使用 selenium python 浏览分页?