当前位置: 首页 > 知识库问答 >
问题:

Angular 2编辑npm包的模板

寿丰
2023-03-14

我知道在/node_modules文件夹中编辑它是一个很大的“禁忌”。我将丢失对“npm安装”的所有编辑,或者我必须将整个/node\u modules文件夹添加到我的GIT项目中。

那么我该如何应对这个挑战呢?

在java世界中,我会扩展类,添加和/或重写内容,并在需要的地方使用我自己的“child”类。

但是angular 2组件模板呢??。。。

编辑:

如果你使用Angular2,你应该知道什么是组件模板。具有相同名称但具有。超文本标记语言扩展。现在,如果我通过npm添加一个组件(例如:ng-bootstrap、ngx-上传器......),并且我需要编辑模板或行为(. ts文件)一点,那么应该如何应对这种挑战。

我可以提供代码和特定的包名,但这有什么帮助?有了这个问题,我试图理解这个概念,并在几种情况下实施它。

编辑2:

我在这里发现了一个类似的问题。我想我会实施那里提出的解决方案。

叉子=

但是仅仅重新排列一些超文本标记语言标记是多么痛苦啊。这是去罗马的唯一路吗?

共有1个答案

全丰
2023-03-14

正如你在编辑你的问题:真的,打开一个新的git回购只是为了一些变化,并从那里拉它绝对没有多大意义。如果您的更改仅影响当前项目,则不会。但是一般的做法基本上是正确的。我只是不会使用git:

拉动包一次(但不要将其保存为依赖项),进行更改并创建一个.tgz文件。将此文件放在项目中的某个位置(例如node\u modules\u static),并在包.json中引用它,如下所示:

dependencies": {
    "my-manipulated-module": "file:./node_modules_static/my-manipulated-module.tgz"
}

当然,在正式生产环境中,您可以/可能会将此软件包托管在您可以访问的服务器上的某个地方,在那里管理您的版本,也许会更新/调整它,而无需每次都接触您的特定项目。

现在,有些人可能会争辩说,原始模块可以更新,更改不会反映在您的项目中,因为您正在使用自己的副本...但是在现实中,无论如何都没有办法在一个巨大的项目中处理自我更新模块,尤其是如果你对它们进行了更改。

当然,如果我们只讨论javascript更改,您总是可以创建一个扩展,它覆盖模块的某些部分,但是对于模板,我可能会这样做。

 类似资料:
  • 问题内容: 我正在使用node_swiz模块,而后者又使用了验证器模块。 我想对验证器模块进行更改,但是我使用npm install来安装模块/依赖项。 我可以只在node_modules内部更改验证器模块,还是在发布到heroku或下次运行npm install时重新创建node_modules依赖关系并获得最新版本? 结构如下: 谢谢您的帮助! 问题答案: 您可以直接编辑文件,但是每当npm更

  • 我使用的是node_swiz模块,它反过来使用验证器模块。 我想对验证器模块进行更改,但我使用了npm安装来安装模块/依赖项。 我是否可以只更改node_模块内部的验证程序模块,或者在我发布到heroku或下次运行npm安装时是否会重新创建node_模块依赖项并获取最新版本? 结构如下所示: 谢谢你的帮助!

  • class BaseDatabaseSchemaEditor[source] Django的迁移系统分为两个部分;计算和储存应该执行什么操作的逻辑 (django.db.migrations) ,以及用于把“创建模型”或者“删除字段”变成SQL语句的数据库抽象层 -- 后者是模式编辑器的功能。 你可能并不想像一个普通的开发者使用Django那样,直接和模型编辑器进行交互,但是如果你编写自己的迁移系

  • 问题:所以我用这个npm包react qr扫描仪扫描我PWA中的qr码。现在这是一个基于react的包。react组件(只是一个示例)如下所示: 好的,上面显示的“部分”具有从videoPreviewStyle对象应用的元素级css样式。现在我想做的是定制这个部分。现在,我认为唯一的方法是实际更改npm安装文件(在node_modules文件夹中)。我试过了,但没有成功(我不知道为什么,所以如果你

  • 问题内容: 我正在第一个NPM模块上工作。之前,我曾短暂地使用过Typescript,但一个大问题是,对于许多模块,没有可用的定义文件。因此,我认为用打字稿编写模块是一个好主意。 但是,我找不到有关最佳方法的任何信息。我发现了一个相关的问题“ 我可以在coffeescript中编写npm软件包吗? ”,那里的人们建议只发布javascript文件。但是与coffeescript文件相比,如果在打字

  • 表单创建页面工作正常,但我需要表单编辑页面。我想我需要一个att,但我找不到。我怎么做? 管理面板的呈现表单 在此输入图像描述 示例我的数据库行(json) {“type”:“header”,“subtype”:“h1”,“label”:“\u003Ch2\u003E\u0130\u015f Ba\u015fvuru Formu\u003C/h2\u003E”,“access”:false},{“