如何在我的 angular 6 应用程序中使用 angular material 的本地分支?
How can I use a local fork of angular material with my angular 6 app?
我想对 angular material2 源代码进行一些更改,并将它们反映在我的 angular 6 应用程序中。
目前,我的应用程序的 package.json 文件指定了以下内容:
“@angular/material”: “^6.4.3”
我已尝试将项目克隆到本地文件夹并更改我的应用程序 package.json,如下所示:
“@angular/material”:”file:../../material2”
但是当 运行 npm install 时,安装失败并出现各种目录丢失错误。
看来我做的事情完全错了,但对 npm 很陌生,我只是不知道是什么。
那么,如何在 angular 6 应用程序中使用 angular-material2 的本地分支?
很大程度上取决于您如何使本地分叉可用。它是作为节点包在某处发布的吗?分发版本是否存储在 git 存储库中?它只是源代码吗?
如果您只需要 "redirect" 您的应用程序指向本地目录而不是 node_modules 包,也许最简单的选择是使用 tsconfig.json 路径选项。类似于:
"compilerOptions": {
"paths": {
"@angular/material": [
"fork/material2",
"../node_modules/@angular/material"
]
},
}
这设置了一个有序的层次结构,用于获取包的位置。不确定这是否已更改,但过去 Angular CLI 仅在路径是项目根目录的后代时才支持此路径。
另一种选择是调查 npm link
。简而言之,这会将节点模块包替换为任何包名称 'linked' 。我发现将我的头脑集中在文档上有点棘手,但当我需要做你正在做的同样的事情时,它对我来说非常有效。
我想对 angular material2 源代码进行一些更改,并将它们反映在我的 angular 6 应用程序中。
目前,我的应用程序的 package.json 文件指定了以下内容:
“@angular/material”: “^6.4.3”
我已尝试将项目克隆到本地文件夹并更改我的应用程序 package.json,如下所示:
“@angular/material”:”file:../../material2”
但是当 运行 npm install 时,安装失败并出现各种目录丢失错误。
看来我做的事情完全错了,但对 npm 很陌生,我只是不知道是什么。
那么,如何在 angular 6 应用程序中使用 angular-material2 的本地分支?
很大程度上取决于您如何使本地分叉可用。它是作为节点包在某处发布的吗?分发版本是否存储在 git 存储库中?它只是源代码吗?
如果您只需要 "redirect" 您的应用程序指向本地目录而不是 node_modules 包,也许最简单的选择是使用 tsconfig.json 路径选项。类似于:
"compilerOptions": {
"paths": {
"@angular/material": [
"fork/material2",
"../node_modules/@angular/material"
]
},
}
这设置了一个有序的层次结构,用于获取包的位置。不确定这是否已更改,但过去 Angular CLI 仅在路径是项目根目录的后代时才支持此路径。
另一种选择是调查 npm link
。简而言之,这会将节点模块包替换为任何包名称 'linked' 。我发现将我的头脑集中在文档上有点棘手,但当我需要做你正在做的同样的事情时,它对我来说非常有效。