我已经下载了以下demo和ng2-archwizard
我想进行更改以对ng2-archwizard的源进行本地更改,并为此demo项目在本地安装软件包。
我尝试的第一件事是通过遵循以下步骤的npm link
在ng2-archwizard内部,我更改了代码并运行npm link
在demo项目中,我使用npm link \path\to\ng2-archwizard
或仅npm link ng2-archwizard
安装了ng2-archwizard
当我运行ng serve
时,出现以下错误
块{0} main.bundle.js,main.bundle.js.map(main)984 kB {4}
[初始] [呈现]
块{1} polyfills.bundle.js,
polyfills.bundle.js.map(polyfills)191 kB {5} [初始] [渲染]
块{2} styles.bundle.js,styles.bundle.js.map(样式)175 kB
{5} [初始] [呈现]
块{3} scripts.bundle.js,
scripts.bundle.js.map(脚本)168 kB {5} [初始] [呈现]
大块
{4} vendor.bundle.js,vendor.bundle.js.map(供应商)2.83 MB [初始]
[呈现]
块{5} inline.bundle.js,inline.bundle.js.map
(内联)0字节[输入] [呈现]
ERROR中的ERROR遇到静态解析符号值的问题。
不支持函数调用。考虑更换功能或
引用导出函数的lambda(位置194:50
原始.ts文件),在其中解析符号NgModule
/usr/xxx/ng2-archwizard-demo/node_modules/ng2-archwizard/node_modules/@angular/core/core.d.ts,
在中解析符号ArchwizardModule
/usr/xxx/ng2-archwizard-demo/node_modules/ng2-archwizard/dist/archwizard.module.d.ts,
在中解析符号ArchwizardModule
/usr/xxx/ng2-archwizard-demo/node_modules/ng2-archwizard/dist/archwizard.module.d.ts
然后,我尝试使用npm pack
创建一个tar并将其安装在演示项目中,它可以作为短期解决方案。
更新1
1.在ng2-archwizard内部,我更改了代码并运行npm pack
2.在demo项目中,我使用npm install \path\to\ng2-archwizard.tar
或npm install \path\to\ng2-archwizard.tar --save
安装了ng2-archwizard(这将依赖项保存到演示项目的package.json中)
3.运行ng serve
4.当我必须再次对代码进行任何更改时,我必须再次重复上述三个步骤,并执行其他其他步骤,包括清除缓存,卸载tar等。
为了实现可持续的构建过程,我如何使用npm链接在本地安装软件包并在演示项目中反映我的更改?
更新2
由于我们的产品和团队结构,已决定使用私有存储库作为跨不同团队的更具可持续性的可扩展解决方案。希诺比(Sinopia)是not maintained,但发现其中两个得以维护并正常工作
Verdaccio-维护的近视和cnpm叉子。
最佳答案
你快到了。
您需要执行以下操作:
在本地创建ng2-archwizard
,先后使用npm i
和npm run build
在自定义项目存储库(npm i --save path/to/ng2-archwizard
)中运行ng2-archwizard-demo
删除node_modules
文件夹中的ng2-archwizard
文件夹。此文件夹负责您在终端中看到的错误消息
完成这三个步骤后,您应该能够通过ng2-archwizard-demo
运行ng serve
。