我试图在不将其发布到npm存储库的情况下将本地开发的角项目/模块导入到角应用程序中。
首先,我遵循本教程以UMD格式构建模块(我跳过发布部分):
https://medium.com/@cyrilletuzi/how-to-build-and-publish-an-angular-module-7ad19c0b4464
然后,通过执行以下命令行,试图在最终应用程序中安装我的模块:
npm install ../path-to-my-module --save这在我的应用程序的@myscope/myModule中成功地将我的模块添加为package.json,但问题是应用程序中模块的导入没有被识别。最后,我得到了以下错误:
Cannot find module @myscope/myModule在我的node_modules中,创建了文件夹@myscope,其中有一个以myModule命名的../path-to-my-module的快捷方式。
问题的根源是有捷径吗?如果是的话,该如何解决呢?
发布于 2018-01-08 12:26:55
我发现这篇文章帮助我解决了问题:
简单地总结一下,我是这样做的:
npm install -g ng-packagrnpm install ng-packagr --save-dev
ng-package.json,并添加以下内容:{ "$schema":“$schema”:"lib":{ "entryFile":"public_api.ts“"externals":{”@public_api.ts/cdk“:"ng.cdk",”@ and /cdk/accordion“:"ng.cdk.accordion",//}}在我的例子中,为了避免打包/构建错误,我不得不添加外部依赖项:
public_api.ts,并添加以下内容:
export * from './src/app/modules/myFeature/my-feature.module'package.json,并将packagr行添加到scripts标记中:
"scripts": {
//...
"packagr": "ng-packagr -p ng-package.json"
}
npm run packagr- Pack the module by running the following command from the `dist` folder:npm pack
-从最后项目中安装包装模块:
npm install ../some-relative-path/dist/my-component-library-0.0.0.tgz
然后,我可以从我的最终项目的任何其他模块或组件中导入我的模块。
https://stackoverflow.com/questions/48106093
复制相似问题