将 js 应用程序与 webpack 捆绑在一起用于 wordpress 插件
Bundle js apps with webpack for a wordpress plugin
我正在开发一个 WordPress 插件,它在很大程度上取决于管理方面的 javascript。因为它是一个插件并且在管理面板上工作所以我必须小心防止与其他插件的js代码发生冲突,因为它就像一个公共场所,每个插件都可以加载js库。
我计划使用 wordpress 的默认 js 脚本(如 jQuery、下划线、jquery-ui 等)作为外部并捆绑其余依赖项(react、 redux,numeral.js,等)与 webpack。
这种方式会不会和其他插件的js代码冲突?
也许,如果;
- 另一个插件作者决定像我一样使用 webpack。
- 另一个插件加载了一个 js 库,它已经在我的依赖列表中,但它是非常旧的版本。
Webpack、browserify 或其他工具或方法可以帮助我防止此冲突问题吗?
您通过 webpack 捆绑的任何内容(包括 webpack 运行时本身)都不会在全球公开。您可以捆绑您自己的 jQuery(例如,您显然使用的是 WordPress 的)并与现有的一起安全地使用它,两者都不会有问题。您甚至可以加载多个 webpack 构建而不会发生冲突(它们彼此 'unaware')。 Webpack 将其所有代码包装在一个立即调用的函数中,因此所有内容都在该函数的本地范围内。因此,除非您明确将某些内容设为全局,否则不会有冲突的风险。
我正在开发一个 WordPress 插件,它在很大程度上取决于管理方面的 javascript。因为它是一个插件并且在管理面板上工作所以我必须小心防止与其他插件的js代码发生冲突,因为它就像一个公共场所,每个插件都可以加载js库。
我计划使用 wordpress 的默认 js 脚本(如 jQuery、下划线、jquery-ui 等)作为外部并捆绑其余依赖项(react、 redux,numeral.js,等)与 webpack。
这种方式会不会和其他插件的js代码冲突?
也许,如果;
- 另一个插件作者决定像我一样使用 webpack。
- 另一个插件加载了一个 js 库,它已经在我的依赖列表中,但它是非常旧的版本。
Webpack、browserify 或其他工具或方法可以帮助我防止此冲突问题吗?
您通过 webpack 捆绑的任何内容(包括 webpack 运行时本身)都不会在全球公开。您可以捆绑您自己的 jQuery(例如,您显然使用的是 WordPress 的)并与现有的一起安全地使用它,两者都不会有问题。您甚至可以加载多个 webpack 构建而不会发生冲突(它们彼此 'unaware')。 Webpack 将其所有代码包装在一个立即调用的函数中,因此所有内容都在该函数的本地范围内。因此,除非您明确将某些内容设为全局,否则不会有冲突的风险。