使用angular-cli webpack创建多个包的方法


Posted in Javascript onOctober 16, 2018

当我使用angular-cli构建项目时,它会将所有项目文件捆绑到一个主要的主包中.

我在应用程序中使用了懒惰路由,一旦应用程序加载,我就可以导航.

有没有一种方法可以将主包分为多个基于懒惰加载的路由模块的文件?

下面是角度-cli.json中的配置

{
 "project": {
  "version": "1.0.0-beta.15",
  "name": "maddy-test-project"
 },
 "apps": [
  {
   "root": "src",
   "outDir": "dist",
   "assets": "styles/content",
   "index": "default.htm",
   "main": "main.ts",
   "test": "test.ts",
   "tsconfig": "tsconfig.json",
   "prefix": "",
   "mobile": false,
   "styles": [
    "styles.less"
   ],
   "scripts": [
    "styles/wfa-myriad-pro-typekit.js"
   ],
   "environments": {
    "source": "environments/environment.ts",
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
   }
  }
 ],
 "addons": [],
 "packages": [],
 "e2e": {
  "protractor": {
   "config": "./protractor.conf.js"
  }
 },
 "test": {
  "karma": {
   "config": "./karma.conf.js"
  }
 },
 "defaults": {
  "styleExt": "less",
  "prefixInterfaces": false
 }
}

下面是package.json

{
 "name": "maddy-test-project",
 "version": "0.0.1",
 "license": "MIT",
 "angular-cli": {},
 "scripts": {
  "start": "ng serve",
  "lint": "tslint \"src/**/*.ts\"",
  "test": "ng test",
  "pree2e": "webdriver-manager update",
  "e2e": "protractor"
 },
 "private": true,
 "dependencies": {
  "@angular/common": "2.0.0",
  "@angular/compiler": "2.0.0",
  "@angular/core": "2.0.0",
  "@angular/forms": "2.0.0",
  "@angular/http": "2.0.0",
  "@angular/platform-browser": "2.0.0",
  "@angular/platform-browser-dynamic": "2.0.0",
  "@angular/router": "3.0.0",
  "d3": "^4.2.3",
  "jquery": "^3.1.0",
  "lodash": "^4.15.0",
  "moment": "^2.15.0",
  "core-js": "^2.4.1",
  "rxjs": "5.0.0-beta.12",
  "toastr": "^2.1.2",
  "ts-helpers": "^1.1.1",
  "zone.js": "^0.6.23", 
  "bootstrap-daterangepicker": "^2.1.24"
 },
 "devDependencies": {
  "@types/d3": "^3.5.35",
  "@types/google-maps": "^3.1.27",
  "@types/jasmine": "^2.2.30",
  "@types/jquery": "^1.10.31",
  "@types/lodash": "^4.14.34",
  "@types/toastr": "^2.1.29",
  "angular-cli": "1.0.0-beta.15",
  "codelyzer": "~0.0.26",
  "jasmine-core": "2.4.1",
  "jasmine-spec-reporter": "2.5.0",
  "karma": "1.2.0",
  "karma-chrome-launcher": "^2.0.0",
  "karma-cli": "^1.0.1",
  "karma-jasmine": "^1.0.2",
  "karma-remap-istanbul": "^0.2.1",
  "protractor": "4.0.5",
  "ts-node": "1.2.1",
  "tslint": "3.13.0",
  "typescript": "2.0.2"
 }
}

提前致谢!!

它是NgModule和RouterModule.forChild()的作用.这是一个非常好的文章,用于启动大型角度2模块化应用开发: http://blog.angular-university.io/angular2-ngmodule/

The first thing that we need to do is to remove every mention of the Home component or the HomeModule from the App component and the main routing configuration:
We can see here that the App component no longer imports HomeModule, instead the routing config uses loadChildren to say that if /home or any other url starting with it gets hit, then the file home.module should be loaded via an Ajax call.

很快,为了在一个懒惰模块中移动一些逻辑和组件,您可以运行以下命令:

ng g module child --routing

然后angular-cli将生成一个NgModule(app / child / child.module.ts)和一个子路由器配置(app / child / child-routing.module.ts).

延迟加载此子路由器的路由将是:

{ path: 'child', loadChildren: 'app/child/child.module#ChildModule' }

最后用一个约束移动你想要的ChildModule:其他模块(作为AppModule)将无法使用任何ChildModule依赖项(例如服务).如果你需要它,一个很好的做法是创建一个共享模块.

http://stackoverflow.com/questions/39619003/creating-multiple-bundles-using-angular-cli-webpack

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript实现仿银行密码输入框效果的代码
Dec 13 Javascript
JSON 入门指南 想了解json的朋友可以看下
Aug 26 Javascript
js 小数取整的函数
May 10 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
Apr 17 Javascript
Javascript Memoizer浅析
Oct 16 Javascript
JavaScript中的原型继承基础学习教程
May 06 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
jquery仿微信聊天界面
May 06 jQuery
Vue在页面右上角实现可悬浮/隐藏的系统菜单
May 04 Javascript
详解Vue.js v-for不支持IE9的解决方法
Dec 29 Javascript
element-ui的回调函数Events的用法详解
Oct 16 #Javascript
基于vue-upload-component封装一个图片上传组件的示例
Oct 16 #Javascript
Postman的下载及安装教程详解
Oct 16 #Javascript
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 #Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 #Javascript
iView框架问题整理小结
Oct 16 #Javascript
详解多页应用 Webpack4 配置优化与踩坑记录
Oct 16 #Javascript
You might like
php数据库连接
2006/10/09 PHP
PHP 实例化类的一点摘记
2008/03/23 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
JqGrid web打印实现代码
2011/05/31 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
python读写csv文件实例代码
2019/07/05 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
如何设置Java的运行环境
2013/04/05 面试题
中药专业毕业自荐书范文
2014/02/08 职场文书
美术指导求职信
2014/03/17 职场文书
园林系毕业生求职信
2014/06/23 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
购房协议书范本
2014/10/02 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python