我有一个Angular6项目,它由一个主应用程序和一个单独的子项目组成,它是一个库。我试图从主应用程序中使用此库,但似乎无法使其正常工作。
在tsconfig.json
中,我有以下paths
配置:
"paths": {
"@my-company/my-package/*": "dist/my-package/*"
}
然后在主应用程序中,我像这样导入库:
import { ButtonModule } from '@my-company/my-package/button';
然而,当我构建主应用程序时,我会收到很多关于找不到模块的错误。对于上面的import语句,我将得到以下错误:
Module not found: Error: Can't resolve '/Users/jattardi/code/myproject/dist/my-package/button'
但是,如果我检查
dist/my-package
目录,肯定有一个包含类型定义的button
目录。我的导入具有子路径(例如
@my-company/my-package/button
而不仅仅是@my-company/my-package
)的原因是使其树可震动。不确定这是可能的。因为这是一个角度6/ng的packagr生成的版本,我会失去这个能力吗? 最佳答案
我在尝试在主应用程序中使用时遇到了相同的错误。我的答案无法解决这个问题,因为我正试图得到我的懒加载模块,我搬进新的angular6库,工作。
我能够将我的库项目发布到npm,并在主应用程序中将其作为npm依赖项使用。例如:@santony/ngx材料。作为一个解决办法,你可以这样做,直到问题解决。