我正在开发一个 WordPress 插件,它在很大程度上依赖于管理端的 javascript。因为它是一个插件并且在管理面板上工作,所以我必须小心防止与其他插件的js代码发生任何冲突,因为它就像一个公共(public)地方,每个插件都可以加载js库。
我计划使用 WordPress 的默认 js 脚本(如 jQuery、underscore、jquery-ui 等)作为外部脚本,并将其余依赖项(react、redux、digital.js 等)与 webpack 捆绑在一起。
这种方法可能会导致与另一个插件的js代码发生冲突吗?
也许,如果;
- 另一位插件作者决定像我一样使用 webpack。
- 另一个插件加载了一个 js 库,它已经在我的依赖项列表中,但它是非常旧的版本。
Webpack、browserify 或其他工具或方法可以帮助我防止此冲突问题吗?
最佳答案
通过 webpack 捆绑的任何内容(包括 webpack 运行时本身)都不会全局公开。您可以捆绑自己的 jQuery(例如,您显然正在使用 WordPress 的)并将其与现有的 jQuery 一起安全地使用,两者都不会出现问题。您甚至可以加载多个 webpack 版本而不会发生冲突(它们彼此“不知道”)。 Webpack 将其所有代码包装在立即调用的函数中,因此所有内容都位于该函数的本地范围内。因此,除非您明确地使某些内容全局化,否则不存在发生冲突的风险。
关于javascript - 使用 webpack 捆绑 js 应用程序作为 WordPress 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35564267/