我们计划使用angular 6开发一个大型应用程序。因此,我们计划通过为每个模块划分单独的独立项目来开发它,例如 Login Project,Chat Project,Account Project等。所有功能。。每个功能都有各自独立于其他项目的peerDependencies。(请参见下面的文件夹结构图片)
例如:聊天项目负责所有聊天功能,在仪表板中它可以用作<chat-footer ></ chat-footer>
(请参见下面的其他项目用法和错误图片)
我们的目标是在此项目中使用干净的体系结构。如果开发人员在项目中进行了一些更改,则将其发布为新版本,其他开发人员则通过 npm install
或更新命令。
我们不会在www.npmjs.com中将其发布为付费的私有项目,而在私有服务器中将使用Verdaccio作为代理。
当我们以包形式发布项目时,以及在其他项目中使用它时。下面出现错误。由于该软件包,项目对等依赖项无法编译。我正在获取(请参见下面的其他项目用法和错误图片)
./ node_modules / nztc-chat-client / src / app / app.module.ts中的错误
模块构建失败:错误:E:\ Test Projects \ Verdaccio \ test> 001 \ homeModule \ node_modules \ nztc-chat-client \ src \ app \ app.module.ts>从TypeScript编译中丢失。请通过以下方式确保它在您的tsconfig中 “文件”或“包含”属性。
丢失的文件似乎是第三方库的一部分。 >已发布库中的TS文件通常是库打包错误的标志。请在库存储库中打开一个问题,以警告其作者,并请他们使用Angular Package Format打包该库。
在AngularCompilerPlugin.getCompiledFile(E:\ Test Projects \ Verdaccio \ test> 001 \ homeModule \ node_modules \ @ngtools \ webpack \ src \ angular_compiler_plugin.js:749>:23) 然后在plugin.done.then(E:\ Test Projects \ Verdaccio \ test> 001 \ homeModule \ node_modules \ @ngtools \ webpack \ src \ loader.js:41:31) 在 在process._tickCallback(internal / process / next_tick.js:188:7)
之后,我搜索了包装并尝试进行[ng-packagr]。但是每个示例都显示 ng generate library {project name}
使用该库创建软件包。但是仍然找不到很好的示例来做包装或解决我的问题的方法