问题标签 [code-sharing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
775 浏览

aws-lambda - 如何在 Netlify lambda 函数之间共享代码

我在各自的文件夹中有 3 个单独的函数。它们都使用 Twilio 客户端和 Apollo 客户端分别处理 SMS 和 GraphQL 服务器。

与其在每个文件中使用所有代码来实例化每个客户端(从环境中获取密钥等),不如将它放在某个地方并需要它?

我尝试将代码放入顶级函数/文件夹中的 .js 文件中,并在函数代码中要求它,如下所示,这在本地工作正常,但在实时环境中调用函数时netlify dev出错。Module not found '../twilioClient'

0 投票
1 回答
129 浏览

node.js - 如何在 monorepo 中共享类实例?

我有一个使用与 Angular CLI 类似的东西生成的 JavaScript / TypeScript 单一存储库,我有 3 个应用程序:前端、服务器和一个 Discord 机器人。

Discord bot 是这个项目的核心,bot 基本上是一个 discord.js 类实例(客户端),我希望我的服务器和 bot 项目都访问客户端的数据。

我创建了一个库,它为我的服务器和机器人应用程序公开了一个数据库连接,我的问题是我应该如何处理类实例?我应该将类实例导出到库中并在机器人应用程序中为其编写逻辑并能够在服务器中访问它吗?由于图书馆只会导出

我想知道,因为我也可以在库中为机器人创建逻辑,但我觉得这违背了结构的要点,我将不胜感激任何反馈

0 投票
2 回答
54 浏览

android - 如何使用 github 在 Android Studio 上协同工作

所以我和我的朋友正在一起开发一个 android 项目,但是每当他与我分享他的代码时就会发生这种情况,下载 gradles 需要很长时间(我已经下载了......不知道它是否是 diff 版本)。

我们尝试使用 github 来同步我们的工作,但似乎相当困难。

如果有人能告诉我们如何一起工作,那肯定会对我们有很大帮助。考虑我们的菜鸟,请详细分享步骤。先感谢您。

我在 Ubuntu 上..他正在使用 Windows。

0 投票
1 回答
92 浏览

github - 如何隐藏一些代码部分并在机器中完整运行

我想知道 Github Actions 或其他 Github 功能是否可以实现以下事情:

我有一个包含数百个文件的存储库,我只想与我的开发人员/团队共享几个文件。(他们只能看到那几个文件,我分享)。只有开发人员拥有所有这些文件(隐藏和未隐藏),该程序才能成功运行。那么,有什么方法可以让我向团队隐藏我的所有代码,并且每当他们拉取存储库时,所有这些隐藏文件都应该以加密方式下载,并且开发人员可以访问其余未隐藏的文件,他们可以成功执行整个存储库。

如果 Github 无法实现,是否有任何替代工具可以实现这一目标?

谢谢

0 投票
0 回答
137 浏览

angular - 在 Angular 和 Ionic 项目之间导入服务时,'inject() 必须从注入上下文中调用'

我正在尝试创建一种“最简单”的机制,用于在 Angular Web 项目和 Ionic/Angular 移动应用程序之间共享代码。我也一直在探索 monorepo 方法,但我想看看是否可以从移动项目中简单地导入存在于 Web 项目中的模块。

这似乎在多个 Angular 项目之间完美运行,但是当我将服务(它本身使用另一个服务)导入 Ionic 项目时,我得到运行时错误:'inject() must be called from an injection context'。

我想知道这是否是一个可以解决的问题,或者它是不应该工作的东西?

我可以使用 Angular 10.0.5 和 Ionic 6.11.0(它本身安装 Angular 9.1.6)通过一对最小的新安装项目来证明这一点。

我尝试了一些通过搜索找到的建议:

  • 在 angular.json 中将 preserveSymlinks 设置为 true
  • 在 tsconfig.json 中设置 "paths": { "@angular/ ": [ "./node_modules/@angular/ " ] }

我还尝试了一些在导入应用程序中提供服务的不同方式:

  • 提供在:根
  • app.module.ts 提供者列表中的类
  • [MyOtherService, { provide: MyService, useClass: MyService }] 形式的显式提供程序

编辑:为了演示这个问题,我在 Angular 项目中创建了 2 个非常基本的虚拟服务,其中一个引用了另一个:

虚拟服务.ts

Dummy2Service

然后在 Ionic 项目中,导致错误所需要做的就是在应用程序组件中引用一个虚拟服务(来自另一个项目):

0 投票
1 回答
753 浏览

angular - Native Script Angular 代码共享项目不创建节点模块目录,无法创建组件

我一直在尝试使用 Native Script 创建一个 Angular 代码共享项目。这是我当前的系统规格:

本机脚本版本

6.8.0-rc.4

角 CLI:10.0.2

节点:10.22.0

操作系统:达尔文 x6

@nativescript/schematics@10.0.2

当我运行 tns 医生时:

Jasons-MacBook-Pro:桌面所有者$ tns 医生

要初始化项目,我运行以下命令:

项目成功创建,但控制台返回:

在文档中,我看到了这条注释:注意:如果上述命令不起作用,请检查您的主目录 (/home/user-name/.angular.json) 中是否没有无效的配置文件。请删除该文件并再次运行该命令。

但我不确定这是否适用于我的情况,如果适用,我不确定在哪里可以找到这个文件。如果项目没有创建,这个文件在我系统的某个地方吗?

注意:运行此命令时,项目永远不会带有“节点模块”文件夹。这是有道理的,因为当我运行 'ng gc [component-name] ' 时,我收到以下错误:

当存在“节点模块”文件夹并且存在 @schemics/angular/utility/parse-name(ts 和 d.ts)时,我也会收到此错误。

我已经参考并尝试了许多在线线程来纠正这个问题,坦率地说,我已经把我大脑的 Native Script 部分缠绕成一团毛线。

我参考并尝试过的资源:

预先感谢您的帮助。对此,我真的非常感激!

0 投票
0 回答
439 浏览

angular - 升级本机脚本后找不到入口模块中的错误:错误:无法解析“@nativescript/webpack/android-app-components-loader”

在将本机脚本升级到我得到的最新版本后,我正在使用带有 Angular 的代码共享项目 Native-Script

我的 Angular 项目有效,但我在尝试时遇到了问题

这是我的

任何人都可以帮助我吗?

0 投票
1 回答
79 浏览

node.js - Nodes js、微服务和共享 app.listen?

我的公司从一个使用微服务的相对较小的项目开始。可以想象,代码共享的热门话题出现了,什么该共享,什么不该共享。争论的焦点之一是在一个库中共享实际的 express server listen() 代码并在多个服务中使用。我觉得这是错误的,因为我相信这通过共享初始化代码将两个服务紧密结合在一起。我同事天说我们已经加上快递了。这种共享方法是正确的做法吗?此外,他没有将路由和控制器分离到它们的结构中,是的,代码很小,但不确定如何快速找到路由。

以下是分享的内容。我对有更多经验的人对这种方法的看法很感兴趣。

编辑:所以虽然这段代码在技术上是正确的,但应用程序初始化函数是否应该包含在共享库中?如果不是,为什么不和什么应该和不应该共享?

我在 medium、devops 和这个网站上读过很多文章,说只要你可以独立部署、重启等,它就是一个微服务。

提前感谢您的任何见解。

0 投票
1 回答
80 浏览

user-interface - 如何只分享 Codepen 中的演示?

每当我打开 Codepen 链接时,都会显示此 UI。

在此处输入图像描述

我想与某人分享此内容,但不会在 UI 上显示代码,因为这与目标人无关。我只想分享这个片段的演示部分。

有没有办法只分享 Codepen 中的演示?像这样。

在此处输入图像描述

提前致谢!

0 投票
2 回答
63 浏览

protocol-buffers - 包括第 3 方 protobuffer 定义文件

我有一个项目需要创建/读取其他项目生成的 protobuf 文件。

我希望dlprimitives能够读取格式为ONNX protobufCaffe protobuf的文件

将它们包含到项目中的最佳方法是什么:

  1. 从原始存储库复制文件,并使用自述文件引用更新源
  2. 制作 caffe/onnx 外部子项目
  3. 在构建时按需下载它们

我的想法:

  1. 是纯副本不知道它对更新有什么好处
  2. 创建巨大的子项目并增加单个文件的克隆时间,因为不可能有一个单一文件的子项目
  3. 假设构建环境可以访问互联网。

有什么更好的政策?一般是怎么解决的?