node.js - 配置节点将函数加载到全局范围内?

2024-01-07

在现实生活中,我在某个地方看到我们可以配置 Node-js 在全局范围内执行加载的模块,但我现在找不到如何做到这一点。

我为什么要问?

我有一些遗留文件定义了我想在服务器和客户端上使用的语言实用程序,但是其中许多实用程序被定义为全局范围函数。 例如,我有类似的功能closure(fClosure), module(fModule),以及更多以可读的明确方式简单地组织代码的工具,以及诸如$sb(arg,arg,arg),这是一个字符串生成器,等等。

现在这些实用程序定义在一个文件中,例如core.js,并且该文件作为第一个依赖项加载到浏览器中,一切都很好。

但是,在根目录中要求此文件有助于它扩展的地方Array.prototype,但其中定义的函数在其他模块中不可见。 (请避免讨论污染或与其他库冲突)

我知道这不符合 CommonJS 规范...但现在我只是尝试利用这些遗留代码,而不以 CommonJS 方式重新组织所有代码。

我还发现了 RequireJS 和它提出的漂亮的 AMD 模型,但它只回答了如何在为 Node.js 编写的浏览器代码上运行,反之亦然。

分配给全局变量将不起作用,因为这意味着我必须重写所有遗留库。 我正在寻找一种方法,使它们在全局范围内运行,并将它们声明的所有内容保留在那里,而不需要重写它们。

那么,有没有办法让节点需要一个文件并在全局范围内运行它?


您可以将某些内容分配给global对象,对于 Node 来说就像window用于浏览器,例如:

test.js

global.my_var = require('./my_module');

require('./display_my_var');

我的模块

module.exports = "this is a string";

显示_my_var.js

console.log(my_var); // this will work, as my_var is now global
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

node.js - 配置节点将函数加载到全局范围内? 的相关文章

  • Amazon Lex 和 BotFramework 集成 TypeError:无法对已在响应中撤销的代理执行“get”[重复]

    这个问题在这里已经有答案了 我正在进行概念验证 尝试将 BotFramework 与 Amazon lex 集成 并最终将机器人集成到 Microsoft 团队渠道 AWS SDK 用于调用 Amazon Lex 自动程序 async ca
  • 将 Node.js(用于实时通知)添加到现有 PHP 应用程序

    我有一个现有的 PHP 应用程序 我需要向其中添加实时通知 为了实现这一点 我安装了node js 打算添加socket io以实现所有实时功能 然而 尽管在过去的三个小时里研究并试图弄清楚如何将两者结合起来 但我发现自己并没有更接近于获得
  • 如何将 node_modules 包含在单独的 browserify 供应商包中

    我正在尝试将 AngularJS 应用程序转换为使用 browserify 我已经使用 napa 在 node modules 中安装了所有的 Bower 包 现在我想将它们浏览到一个单独的供应商包中 并将它们声明为 外部 依赖项 我想给他
  • Docusaurus 2 中的自定义搜索栏

    我正在尝试 Docusaurus V2 我想使用 LUNR 启用离线搜索 https lunrjs com https lunrjs com 按照本博客中的描述进行搜索 https v2 docusaurus io feedback p o
  • lessc:未找到命令

    我使用的是 OS X 8 并且是 Node LESS 的新手 我以为我之前安装了 lessc 当我转到 usr local bin 时 我看到了 lessc 但对于我的生活来说 我无法运行它 每当我运行它时 我都会看到 bash lessc
  • Windows 10 中的 npm 安装错误( npm install -g angular-cli )

    node v v4 5 0 npm v 5 0 1 有人在 Windows 10 中安装 angular cli 时遇到过这种问题吗 请尝试以下操作 step 0 运行这个命令 npm uninstall g angular cli npm
  • 永远运行 Gulp 脚本?

    是否可以运行 Gulp 脚本forever https www npmjs com package forever 我有 Gulp 脚本想要作为守护进程运行 所以我可以启动 停止 列出它 好的 所以我通过将 gulp 二进制文件从 usr
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • Java:直接从同一类的另一个实例访问私有字段

    我正在写一个equals Object obj 一个类的函数 我发现可以访问私有字段obj来自来电者 因此 不要使用 getter Odp other Odp obj if other getCollection contains ftw
  • 用作 ServiceStack 的 IoC 时在 autofac 中配置生命周期范围

    我目前正在使用 AutoFac 作为我们的 ServiceStack Web 服务应用程序的 DI 容器 我能够配置接线和所有内容 但在阅读了有关范围的部分后 我不知道在注册我的组件时最好使用哪个范围 在我们的特定情况下 我认为 PerHt
  • Nodejs Express 隐式中间件应用于所有路由?

    我想知道 Express 是否允许我创建一个默认调用的路由中间件 而无需我将其明确放置在 app get arg 列表中 NodeJS 新手 var data title blah So I want to include this in
  • 在社交媒体上分享 Reactjs 链接时,react-helmet 中的元标记不显示

    我有一个在客户端运行reactjs的项目 在后端运行nodejs express 我实现了react helmet来更新索引之外的路线的标题和元标记 例如 用户查看帖子 viewpost q POSTID 然后客户做了一个GET reque
  • NodeJs读取JSON文件

    我正在使用 NodeJs 读取 json 文件 我的代码非常基本 var obj require sample json console log obj 0 Sample json 文件包含这样的字符串化 JSON sample good
  • 错误:找不到模块“jasmine-core”

    我安装了以下内容进行测试 devDependencies jasmine core 2 4 1 karma 0 13 22 karma jasmine 0 3 7 karma phantomjs launcher 1 0 0 运行后karm
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 使用 Socket.IO 时如何访问会话标识符?

    我有一个聊天 我需要管理独特的连接 我四处搜寻 但我找到的解决方案似乎都已被弃用 那么 如何使用 Socket IO 获取套接字的会话 ID 我在用着Node js http en wikipedia org wiki Node js Ex
  • 如何从@google-cloud/storage读取文件?

    我正在从我的存储桶中检索文件 我收到该文件并想要阅读其内容 但我不想将其下载到我的本地项目 我只想读取内容 获取数据并用它进行其他操作 我的代码 export const fileManager async gt try const sou
  • at=错误代码=H12 desc=node.js中的请求超时。如何处理?

    2020 07 21T06 54 58 030920 00 00 heroku 路由器 at error code H12 gt desc Request timeout 方法 获取路径 食谱 主机 desolate beach 26163
  • Node 不断恢复到旧版本

    每次我在控制台中重新启动 vagrant 时 它都会询问我的登录详细信息 然后说Now using node v7 10 0 npm v4 2 0 当我做run nvm install node I get v13 11 0 is alre
  • 函数不会等到 Promise 得到解决

    我正在开发一个简单的不和谐机器人 我正在尝试打印有关某个玩家的一些一般数据 我最近了解了 async await 并尝试将其实现到我的代码中 然而 它似乎不起作用 因为当我第一次触发此代码时 它会打印 null 但在后续触发时 它将打印正确

随机推荐

  • BASH 在变量非文件中提取字符串后的值[重复]

    这个问题在这里已经有答案了 我发现了一个无法解决的奇怪问题 我需要提取变量中的一些值 这些值位于字符串后面 本例中变量的名称是 DSLSTATE 这是其中值的示例 NewEnable 1 NewStatus Up NewDataPath F
  • 使用 matplotlib 在 qiskit 中可视化电路

    我正在学习如何使用 qiskit 并且正在使用 jupyter 笔记本 但是每次我尝试使用属性绘制来可视化电路时 我都会收到此错误 import qiskit from qiskit import from qiskit import IB
  • 如何在 Linux、Mac 和 Windows 上从 Java 启动 .NET 应用程序?

    我想从 Java 环境的上下文中启动 NET 应用程序 与 Mono 兼容 我的猜测是 我必须以某种方式确定是否安装了 mono 找到位置并使用 NET 应用程序路径作为参数启动它 但什么是可靠的方法呢 或者 还有更好的方法 也许我应该澄清
  • 按HOME后重新启动应用程序时如何返回到最新启动的活动? [复制]

    这个问题在这里已经有答案了 熟悉的场景 我有一个Main启动的活动Game按下按钮时的活动 如果用户按 HOME 然后再次启动我的应用程序 则应显示GameActivity 这是他最后一次使用该应用程序时所做的事情 然而 相反发生的事情是他
  • 为什么 div 会有这样的行为?

    有时我的 div 会出现这个问题 无法按预期运行 我想要的是让它们按照我的理解 流动 布局 但它们不是 我只是想知道为什么不 我已经使用 firebug 来检查 css 似乎没有任何不符合规范的内容 但它们并没有一个接一个地流动 我提供了两
  • 在领域驱动设计中,您可以在 UI 中使用领域实体吗?

    在许多领先的 DDD 项目中 尤其是 MVC 风格 我看到 UI 使用镜像域实体的显示对象 而不是直接使用这些域对象 这种风格显然是为了解耦和分离关注点 我个人更喜欢这种风格 但我不确定这是否是 DDD 的严格原则 或者这是否只是不同开发人
  • 我需要做直方图拉伸

    我有一个 BitmapFrames 数组 需要进行直方图拉伸 我知道这与直方图均衡不同 最终结果是什么 有点 问题是我完全不知道得到直方图后该怎么做 到目前为止 我的代码为直方图创建了一个数组 因此我知道每个值有多少个像素 但在那之后我不知
  • 让semantic_errors呈现准确的错误消息

    我有一个模型Camping which has many Images 露营至少需要一张图片 class Camping lt ActiveRecord Base attr accessible images attributes has
  • PostgreSQL:如何实现最小基数?

    正如这个问题中的回答 PostgreSQL 中的基数 https stackoverflow com questions 3135206 cardinality in postgresql 基数是使用强制执行的限制条件 http www p
  • 使用游标获取字段值

    我正在创建一个应用程序 但遇到问题Cursor 我有一个SQLiteDatabase这给我返回了一个Cursor当我尝试使用此函数获取值时 public Cursor fetchOption long rowId throws SQLExc
  • 如何将“zd”说明符与“printf()”一起使用?

    寻求有关使用的说明 zd with printf 当然 对于 C99 及更高版本 以下内容是正确的 void print size size t sz printf zu n sz C 规范seems允许printf zd n sz 取决于
  • 如何正确对齐此文本?

    我今天写了这个极地时钟 我几乎完成了 除了我想在行内对齐我的文本 类似于this http blog pixelbreaker com polarclock 有谁知道如何做到这一点 我尝试使用 FontRenderContext 和字体指标
  • Android HttpClient 性能

    我正在开发 Android 应用程序 它使用大量对 Web 服务的 http 请求 起初 我在每个请求之前创建一个新的 HttpClient 实例 为了提高性能 我尝试在多个线程中执行请求 因此 我使用 ThreadSafeConnecti
  • 带有 c:foreach jstl 标签的二维数组列表

    我在两个叠瓦式 JSTL 中使用二维数组列表
  • 计算多个 CSV 文件中一列的平均值

    我的文件夹中有 300 多个 CSV 文件 名为 001 csv 002 csv 等 每个包含一个带有标题的数据帧 我正在编写一个函数 该函数将采用三个参数 文件的位置 要计算平均值的列的名称 数据框内 以及计算中使用的文件 这是我的功能
  • 如何在 Eclipse 中调试在 jetty 上运行的 Web 应用程序?

    以前从未做过网络编程 有没有办法设置断点 在 Eclipse 中查看变量值 我想要调试的应用程序会生成一个我想轻松提取的查询字符串 单击外部工具配置 Select program and click the new button top l
  • 无法将 React.lazy 与 Material UI 图标一起使用

    因为我的应用程序中的很多地方都有很多图标 所以我想对它们使用代码分割 我创建了辅助组件来执行此操作 import React FunctionComponent Suspense from react interface LazyMuiIc
  • 在哪里可以找到 Google Compute Engine 的名称服务器?

    我已将一个网站上传到我的 Compute Engine 实例 并且我想设置注册器以将访问者发送到服务器 Compute Engine 在哪里可以通过 Compute Engine 获取实例 服务器的名称服务器 Google Compute
  • 使用 alex/happy 与 Cabal

    我正在为我正在学习的课程编写一个编译器 该类不是专门的 Haskell 但我使用 Haskell 来编写我的编译器和解释器 我有一个 cabal 包设置 希望能让我的教授轻松运行 编译 我有快乐和亚历克斯在build tools两个可执行文
  • node.js - 配置节点将函数加载到全局范围内?

    在现实生活中 我在某个地方看到我们可以配置 Node js 在全局范围内执行加载的模块 但我现在找不到如何做到这一点 我为什么要问 我有一些遗留文件定义了我想在服务器和客户端上使用的语言实用程序 但是其中许多实用程序被定义为全局范围函数 例