在本地其他项目中使用修改后的 angular cdk 模块
use modified angular cdk module in other project locally
我已经分叉、克隆并修改了 angular material 存储库以满足我的需要。开发应用程序中的代码运行良好。
现在我想在我正在开发的另一个 angular 应用程序中使用这个模块,更准确地说是 @angular/cdk
的 DragDropmodule
。
因此,我 运行 gulp cdk:build-release
并获得了包含构建模块的 dist/releases/cdk
文件夹。
我现在如何在我的其他项目中使用这个编译模块的 DragDropModule
? 我试过了 npm link
。这在某种程度上起作用,因为我现在可以通过
导入模块
import { DragDropModule } from 'material2c/dist/releases/cdk/drag-drop';
然而,尝试 ng serve
给出了一堆错误
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/bidi' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/coercion' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/platform' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/scrolling' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
感谢任何帮助:-)
如果项目正确 linked,导入应该保持不变。例如:
import { DragDropModule } from '@angular/cdk'
这是因为 npm link
从 linked 项目到目标项目中的 ./node_modules/@angular/cdk
创建了一个 link。
如果你需要分享这个模块,你可能会对模块的 dist 目录中的 运行 npm pack
感兴趣,它应该输出一个 tarball,然后你可以 npm install 到你的项目并轻松与其他人分享。
我已经分叉、克隆并修改了 angular material 存储库以满足我的需要。开发应用程序中的代码运行良好。
现在我想在我正在开发的另一个 angular 应用程序中使用这个模块,更准确地说是 @angular/cdk
的 DragDropmodule
。
因此,我 运行 gulp cdk:build-release
并获得了包含构建模块的 dist/releases/cdk
文件夹。
我现在如何在我的其他项目中使用这个编译模块的 DragDropModule
? 我试过了 npm link
。这在某种程度上起作用,因为我现在可以通过
import { DragDropModule } from 'material2c/dist/releases/cdk/drag-drop';
然而,尝试 ng serve
给出了一堆错误
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/bidi' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/coercion' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/platform' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js
Module not found: Error: Can't resolve '@angular/cdk/scrolling' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'
感谢任何帮助:-)
如果项目正确 linked,导入应该保持不变。例如:
import { DragDropModule } from '@angular/cdk'
这是因为 npm link
从 linked 项目到目标项目中的 ./node_modules/@angular/cdk
创建了一个 link。
如果你需要分享这个模块,你可能会对模块的 dist 目录中的 运行 npm pack
感兴趣,它应该输出一个 tarball,然后你可以 npm install 到你的项目并轻松与其他人分享。