【问题标题】:use modified angular cdk module in other project locally在本地其他项目中使用修改后的 Angular cdk 模块
【发布时间】:2019-05-27 00:32:00
【问题描述】:

我已经分叉、克隆和修改了 Angular 材质存储库以满足我的需要。开发应用中的代码运行良好。

现在我想在我正在开发的另一个 Angular 应用程序中使用这个模块,更准确地说是 @angular/cdkDragDropmodule

因此我运行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'

任何帮助表示赞赏:-)

【问题讨论】:

  • 你能创建一个 github/stackblitz 的例子吗?它将帮助我们知道问题的确切来源。阅读可安慰的日志并没有给出完整的画面

标签: node.js angular angular-material2 angular-cdk


【解决方案1】:

如果项目正确链接,导入应该保持不变。例如:

import { DragDropModule } from '@angular/cdk'

这是因为npm link 创建了一个从链接项目到目标项目中./node_modules/@angular/cdk 的链接。

如果您需要共享模块,您可能有兴趣在模块的 dist 目录中运行 npm pack,它应该会输出一个 tarball,然后您可以 npm install 到您的项目并轻松地与其他人共享。

【讨论】:

  • 嗨,迈克尔,感谢您的回答。我没有运气直接将它与 npm/yarn 链接。在执行npm pack 时,将 tgz 放入产品文件夹并将其作为 devDependency 包含在内,它起作用了。你知道为什么吗?
  • 尝试在您尝试链接到的项目目录中运行npm link ../../path/to/dist/dir
  • 谢谢,诀窍是允许在 angular.json 文件中保留符号链接。此处描述:stackoverflow.com/a/53123513/537865
猜你喜欢
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
相关资源
最近更新 更多