Angular单项目升级多项目怎么做,方法操作是什么

Admin 2022-06-29 群英技术资讯 335 次浏览

本篇内容介绍了“Angular单项目升级多项目怎么做,方法操作是什么”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


有时候在开发的过程中发现一个Angular项目不太够用,两个独立的项目又不太好复用。比如当前我们需要一个新的运行于微信小程序端的H5项目,但却在想在新的H5项目中应用原WEB项目中实体、Share、Serivce以及MockApi等模块。此时,便需要将原来的Angular项目简单做个升级。

情景:

  1. 当前已经有了一个运行于浏览器端的web项目。
  2. 在当前项目的基础上新增一个wechat项目。
  3. 将web项目中的一些公有的东西抽离出来组成一个公共库
  4. 原web项目、新的wechat项目均能调用其公共库

开发环境

本文开发环境如下:

panjie@panjies-iMac web % ng --version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 12.1.4
Node: 14.16.0
Package Manager: npm 6.14.11
OS: darwin x64

Angular: 12.1.5
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1201.4
@angular-devkit/build-angular   12.1.4
@angular-devkit/core            12.1.4
@angular-devkit/schematics      12.1.4
@angular/cli                    12.1.4
@schematics/angular             12.1.4
rxjs                            6.6.7
typescript                      4.3.5

生成新工程

我们进入原web项目的根文件夹,执行ng generate application wechat。

panjie@panjies-iMac web % ng generate application wechat
? Would you like to add Angular routing? Yes

选择是否使用路由以及css样式类别后angular cli将为我们生成projects文件夹:

projects
└── wechat
    ├── karma.conf.js
    ├── src
    │   ├── app
    │   │   ├── app-routing.module.ts
    │   │   ├── app.component.html
    │   │   ├── app.component.scss
    │   │   ├── app.component.spec.ts
    │   │   ├── app.component.ts
    │   │   └── app.module.ts
    │   ├── assets
    │   ├── environments
    │   │   ├── environment.prod.ts
    │   │   └── environment.ts
    │   ├── favicon.ico
    │   ├── index.html
    │   ├── main.ts
    │   ├── polyfills.ts
    │   ├── styles.scss
    │   └── test.ts
    ├── tsconfig.app.json
    └── tsconfig.spec.json

5 directories, 17 files

同时更新了angular.json文件,写入了wechat这个新的项目的配置信息。

此时我们便可以使用ng s wechat来启动wechat项目,使用ng t wechat来测试wechat项目,以及使用ng build wechat来构建wechat的项目了。

wechat项目有了以后,我们当前得到了如下的目录树:

panjie@panjies-iMac web % tree -L 1 -a
.
├── .browserslistrc ②
├── .editorconfig ①
├── .eslintrc.json ②
├── README.md ①
├── angular.json ①
├── dist ①
├── karma.conf.js ②
├── node_modules ①
├── package-lock.json ①
├── package.json ①
├── projects ①
├── src ②
├── tsconfig.app.json ②
├── tsconfig.json ②
└── tsconfig.spec.json ②

① Angular工程文件,对web及wechat项目均生效

② web项目的专属文件

移动web项目

为了更加的整齐划一,我们将以②为标识的文件统一移动到projects文件夹中。新建文件夹名为web。

项目移动完成后,我们对应修正项目的配置信息

angular.json

该文件存放的是Angular项目的配置信息,配置不正确将直接导致ng s等命令无法正常启动。
我们对应修正如下:

{
  "projects": {
    "web": {
-      "root": "", 
+      "root": "projects/web",
-            "tsConfig": "tsconfig.app.json",
+            "tsConfig": "projects/web/tsconfig.app.json",
-            "tsConfig": "tsconfig.spec.json",
+            "tsConfig": "projects/web/tsconfig.spec.json",
-            "karmaConfig": "karma.conf.js",
+            "karmaConfig": "projects/web/karma.conf.js",

然后使用全局替换,将"src替换为"projects/web/src

修改完成后,运行ng s web或ng t来检查是否存在其它的语法错误(主要是在迁移过程中可能发生的引用错误),有的话按提示进行修正。

至此,历史项目迁移完毕。

公共模块

接下来便可以在projects里面新一个common文件夹,然后将公用的实体、服务、组件等全部移过去了。这些小的功能模块即可以在web工程中使用,也可以在wechat中使用,这样以来同样的轮子我们只造一个就可以了。

总结


到此这篇关于“Angular单项目升级多项目怎么做,方法操作是什么”的文章就介绍到这了,更多相关Angular单项目升级多项目怎么做,方法操作是什么内容,欢迎关注群英网络技术资讯频道,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服