首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在其他应用程序中重用角2模块而不发布到npm?

在其他应用程序中重用角2模块而不发布到npm?
EN

Stack Overflow用户
提问于 2016-10-18 19:59:52
回答 2查看 2.5K关注 0票数 8

假设您有两个不同的角2应用程序,它们都需要使用相同的组件。

我创建了公共组件,按照本教程http://blog.angular-university.io/how-to-create-an-angular-2-library-and-how-to-consume-it-jspm-vs-webpack/创建了一个库,但npm将使我的代码公开,我将不得不付费才能使其私有。

因此,问题是:

  1. 如何创建可供工作组使用的组件?
  2. 是否有必要将代码发布到npm,还是只需将代码推送到私有github回购?如果是这样的话,我应该如何做到这一点,在应用程序中重用代码的过程是什么?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-01-07 12:05:42

package.json允许您引用从git存储库下载的包,这可能是您内部使用的包。请参阅NPM文件

格式示例:

代码语言:javascript
运行
复制
git+ssh://git@github.com:npm/npm.git#v1.0.27
git+ssh://git@github.com:npm/npm#semver:^5.0
git+https://isaacs@github.com/npm/npm.git
git://github.com/npm/npm.git#v1.0.27

因此,这将在您的package.json中提供如下内容:

代码语言:javascript
运行
复制
"dependencies": {
   "privatepackage":"git://localgitserver/git/privatepackage.git"
}
票数 1
EN

Stack Overflow用户

发布于 2019-06-24 08:30:09

我建议您为此使用NX,在应用程序之间共享代码是很容易的

  • 创建NX工作区 npx -忽略-现有的创建-nx-工作区MY_WORK_SPACE

您现在可以在该工作区内创建乘法应用程序,它们可以是角型应用程序,也可以是React或它们之间的混合应用程序。

代码语言:javascript
运行
复制
   ng add @nrwl/angular --defaults
   ng g @nrwl/angular:application app1 // generate first app
   ng g @nrwl/angular:application app2 //generate second app

它们在app目录下可见。

所以现在你有了你的应用程序,你可以通过生成库在应用程序之间共享代码

代码语言:javascript
运行
复制
 ng g @nrwl/angular:lib ui // ui is the name of your library

现在它可以在libs目录下使用了

现在可以通过生成组件和服务来处理库:

代码语言:javascript
运行
复制
ng g component sharedComponent --project=ui --export

最后,您可以在应用程序(app1和app2)中通过导入UiModule来使用库。

代码语言:javascript
运行
复制
import { UiModule } from '@MY_WORK_SPACE/ui'; // @nameOfYourCreatedWorkspace/nameOfLibrary

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, HttpClientModule, UiModule], // import here
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}

还有沃拉!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40117026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档