我想对angular material2源代码进行一些更改,并将它们反映到我的angular 6应用程序中。
目前,我的应用程序的package.json文件指定了以下内容:
“@angular/material”: “^6.4.3”
我尝试将项目克隆到本地文件夹中,并更改我的应用程序package.json,如下所示:
“@angular/material”:”file:../../material2”
但是,当运行npm install时,它会失败,并出现各种缺少目录的错误。
看起来我在做一些完全错误的事情,但是作为npm的新手,我只是不知道是什么。
那么,如何在angular 6应用程序中使用angular-material2 2的本地分支呢?
发布于 2018-08-10 22:27:19
这在很大程度上取决于您如何使本地fork可用。它是在某个地方作为节点包发布的吗?发行版构建是否存储在git repo中?它仅仅是源代码吗?
如果您只需要“重定向”您的应用程序以指向本地目录,而不是node_modules包,也许最简单的选择是使用tsconfig.json路径选项。类似于:
"compilerOptions": {
"paths": {
"@angular/material": [
"fork/material2",
"../node_modules/@angular/material"
]
},
}这为获取包的位置设置了一个有序的层次结构。我不确定这是否已经改变,但以前只有当路径是项目根的后代时,Angular CLI才会支持这一点。
另一种选择是研究npm link。简而言之,这会将节点模块包替换为包名“链接”到的任何包。我发现这有点棘手,但当我需要做您正在做的事情时,它对我来说是完美的。
https://stackoverflow.com/questions/51762354
复制相似问题