javascript - 如何在 webpack 包中为 Rails 应用程序定义全局 javascript 方法
问题描述
我发现了很多关于在 Javascript 中使变量或函数全局化的问题(通常我理解这不是一个好习惯),但有时我们需要在整个应用程序中使用 JS 函数,通常在 Webpacker 中为我们的 Rails 5 应用程序执行此操作已完成像这样:
在一个useful_pack.js
文件中
function globalFunction() {
// some stuff
}
export {globalFunction }
然后在 中application.js
,我们导入包并将全局函数绑定到窗口:
import { globalFunction } from useful_pack.js
// some code
window.globalFunction = globalFunction
在这种情况下绑定到窗口有什么主要缺点吗?有没有更标准的方法来利用 webpacker 中的全局 JS 函数?(这样我就可以在我的 rails 应用程序的任何视图中调用该函数)
解决方案
要在全局范围内添加一个函数,使其在您的应用程序中可用,这是推荐的方法:
global.globalFunction = function() {
// some stuff
};
// or
const globalFunction = () => {
// some stuff
};
global.globalFunction = globalFunction;
推荐阅读
- php - PHP 中的 $i++ 和 ++$i 之间有性能差异吗?
- mysql - 如何在此查询中使用存在?
- terraform - 使用 Terraform 仅定位一个实例,而不涉及不相关的资源
- python - 数据框中连续重复元素的对应列的总和
- cypress - 有没有办法在 CYPRESS HOOKS 中注册任何事件侦听器,它在整个测试执行过程中侦听该特定事件
- django - 如何将查询集实例转换为字典 Django
- javascript - 模态不再关闭
- c++ - C++中的高斯模糊
- highcharts - Highcharts plotOptions.series.compare='percent' 呈现空白
- vue.js - 如何在 Vue.js 中设置多行标题 v-toolbar?