npm包的Angular 2编辑模板

npm包的Angular 2编辑模板,angular,Angular,我发现自己的处境是,我想要/必须编辑一个组件的模板,npm将该组件导入到我的angular2项目中 我知道在/node_modules文件夹中编辑它是一个很大的“禁忌”。我将丢失对“npm安装”的所有编辑,或者我必须将整个/node\u modules文件夹添加到我的GIT项目中 那么,我应该如何应对这一挑战呢 在java世界中,我会扩展类,添加和/或重写内容,并在需要的地方使用我自己的“child”类 但是angular 2组件模板呢 编辑: 要澄清我的评论@lexith: 如果您使用Angu

我发现自己的处境是,我想要/必须编辑一个组件的模板,npm将该组件导入到我的angular2项目中

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

那么,我应该如何应对这一挑战呢

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

但是angular 2组件模板呢

编辑:

要澄清我的评论
@lexith

如果您使用Angular2,您应该知道什么是组件模板。具有相同名称但扩展名为.HTML的文件。现在,如果我通过npm(例如:ng bootstrap,ngx uploader…)添加一个组件,并且我需要编辑一点模板或者行为(.ts文件),那么应该如何应对这种挑战呢

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

编辑2:

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

Fork=>Edit=>Push=>Import(从我的git Fork)`


但是仅仅是重新排列一些HTML标签就太麻烦了。这是去罗马的唯一途径吗?

正如你在编辑你的问题时所说的那样:没错,仅仅为了一些改变而打开一个新的git回购协议,并从中获得它……绝对没有多大意义。如果更改仅影响当前项目,则不会。但总的方法基本上是正确的。我只是不想使用git:

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

dependencies": {
    "my-manipulated-module": "file:./node_modules_static/my-manipulated-module.tgz"
}
当然,在生产环境中,您可以/可能会将此软件包托管在服务器上的某个位置,您可以在那里访问、管理您的版本,或者更新/调整它,而无需每次接触特定的项目

现在,有些人可能会争辩说,原来的模块可以更新,更改不会反映在您的项目中,因为您使用的是自己的副本。。。但实际上,无论如何,在一个大型项目中都无法处理自更新模块,尤其是当您对它们进行更改时


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

您能更具体一些吗?什么包,什么模板,应该更改什么?不,我不能。这是一个关于特定框架的一般性问题。一个关于如何使用代码处理特定情况的问题。也许可以看看该软件包中的css,并覆盖您希望在项目中使用的css样式。不知道它是否有效,只是一个猜测:)这也是我的第一个想法,但在我的例子中,我需要重新排列类名并添加一些HTML结构标记。我重新编写了mermaidJS包来满足我的需求,我使用了一个简单的angular服务,可以导出到任何地方。但这只适用于美人鱼。所以,是的,更具体一些,即使这是一个一般性的问题。