打包优化方法
--build-optimizer
// Enables '@angular-devkit/build-optimizer' optimizations when using the 'aot' option.
// 使用“aot”选项时启用“@angular devkit/build optimizer”优化。
--vendor-chunkng
// Use a separate bundle containing only vendor libraries.
// 第三方组件单独打包
// 组合使用的打包方式
ng build --prod --aot --build-optimizer --vendor-chunkng
在package.json中配置build打包方法
"scripts":{
"build": "ng build --prod --aot --build-optimizer --vendor-chunkng",
}
以后不用每次写那么长的打包语句
使用npm run build
http-server搭建服务器
http-server是一个超轻量级web服务器,在目录下启动http-server即可访问网站
// 进入目录
cd dist/routrefuzi
// 启动http-server
http-server
// 访问网站
http://127.0.0.1:8080/home
打包后包太大的问题
解决方法:
1、刚开始使用的是ng build --prod 打包
但需要路由的写法:
const routes: Routes = [
{
path: 'home',
// 使用() => import('./home/home.module').then(m => m.HomeModule) ng build --prod打包后会报错:Runtime compiler is not loaded
// loadChildren: () => import('./home/home.module').then(m => m.HomeModule),
loadChildren: './home/home.module#HomeModule'
}];
因为ng build --prod使用AOT编译
参考angular文档 https://angular.cn/guide/aot-compiler
ng build 打包后的文件预览显示空白
1、index.html中将改为
2、打包后的文件需要在服务器环境中才能运行起来
可以放在hbuilder中运行,点击打包后的index.html,运行-运行到浏览器,就可以预览啦
ng build ng build --prod 打包方式的区别
参考来源:
https://cloud.tencent.com/developer/article/1077951?from=15425