部署带有组件库的Angular 6应用

时间:2018-07-26 12:27:09

标签: angular angular6 angular-cli-v6

我构建了一个Angular 6应用程序,该应用程序包含一个库,该库包含将来应重用的组件和一个应用程序。我使用angular cli创建了所有内容,因此我使用了默认结构

my-app
 |
 +-projects
 |   |
 |   +-my-lib
 |      |
 |      +-src
 |      +-package.json
 |
 +-src
 +-package.json

要构建项目,我首先使用ng build my-lib --prod构建库,然后使用ng build --prod构建应用程序。然后dist目录如下所示:

dist
 |
 +-my-app
 +-my-lib

我的问题是现在如何将其部署到我的服务器上,以便应用程序可以访问该库。在本地,一切正常,因此是否应该像往常一样将整个dist目录传输到服务器? 还是应该将库发布到npm并将其作为常规依赖项添加到我的package.json中。 如果是的话,我该如何设置为不干扰本地开发,而我想在本地开发中针对dist目录中的库进行构建?

1 个答案:

答案 0 :(得分:2)

您的my-app构建已经包含my-lib库,因此仅部署dist/my-app就足够了。

对于发布到npm,这完全取决于您。

对于本地开发,您可以考虑使用npm link

  1. cd dist / my-lib
  2. npm链接
  3. cd到/您的/项目/目录
  4. npm链接您的图书馆名称(可能是my-lib

更改库并重新构建时,无需重做链接,它将获取新版本。

但是根据我的经验,当您更新或安装其他“常规”软件包时,必须再次执行链接。