把Angular(版本2、版本4、版本6……)捆绑到一个活跃的web服务器上进行生产的最佳方法是什么?
请在回答中包含Angular版本,以便我们在它转移到后续版本时更好地跟踪。
把Angular(版本2、版本4、版本6……)捆绑到一个活跃的web服务器上进行生产的最佳方法是什么?
请在回答中包含Angular版本,以便我们在它转移到后续版本时更好地跟踪。
当前回答
请在终端中使用以下命令
ng build --configuration production --aot
其他回答
带Webpack的Angular 2(不需要CLI设置)
1- Angular2团队的教程
Angular2团队发布了一个使用Webpack的教程
我将教程中的文件创建并放置在一个小型GitHub种子项目中。因此,您可以快速地尝试工作流。
产品说明:
npm安装 npm的开始。为发展。这将创建一个虚拟“dist”文件夹,该文件夹将被重载到您的本地主机地址。 NPM运行构建。用于生产。这将创建一个可以发送到web服务器的物理“dist”文件夹版本。dist文件夹有7.8MB,但实际上只需要234KB就可以在web浏览器中加载页面。
2 - Webkit入门套件
这个Webpack入门套件比上面的教程提供了更多的测试功能,看起来很受欢迎。
你可以在github上使用 angular-cli-ghpages
请查看链接,以了解如何使用此cli进行部署。
部署的网站通常会存储在github的某个分支中
gh-pages
使用可以克隆git分支和使用它像静态网站在您的服务器
2到14 (TypeScript)使用Angular CLI
前设置
NPM install -g @angular/cli 创建一个新的应用程序
捆绑销售的步骤
ng build(当目录为projectFolder时在命令行中运行)。 flag prod bundle for production现在是默认的(如果需要,请参阅Angular文档自定义它)。 使用Brotli压缩使用以下命令压缩资源 对于dist/*/*中的I;Do brotli $i;完成
包默认生成到projectFolder/dist(/$projectFolder for v6+)**
输出
Angular 14.0.2的大小和CLI 14.0.2的选项CSS没有Angular路由
dist/main.[hash].js Your application bundled [ size: 118 KB for new Angular CLI application empty, 36 KB compressed]. dist/polyfill-[es-version].[hash].bundle.js the polyfill dependencies (@angular, RxJS...) bundled [ size: 34 KB for new Angular CLI application empty, 11 KB compressed]. dist/index.html entry point of your application. dist/runtime.[hash].bundle.js webpack loader dist/style.[hash].bundle.css the style definitions dist/assets resources copied from the Angular CLI assets configuration
部署
可以使用ng serve——prod命令预览应用程序,该命令启动本地HTTP服务器,这样就可以使用http://localhost:4200访问带有生产文件的应用程序。这在生产中使用并不安全。
对于生产应用,必须从所选择的HTTP服务器中的dist文件夹中部署所有文件。
Ng服务的工作是为我们的应用程序的开发目的服务。生产方面呢?如果我们看看我们的包装。Json文件,我们可以看到有我们可以使用的脚本:
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
构建脚本使用Angular CLI的ng build,并带有——prod标志。我们现在试试。我们有两种方法:
#使用NPM脚本
npm run build
#直接使用cli
ng build --prod
这次我们得到了四个文件而不是五个。——prod标志告诉Angular把我们的应用缩小很多。
请在当前项目目录下尝试以下CLI命令。它将创建dist文件夹bundle。因此,您可以上传dist文件夹中的所有文件进行部署。
Ng build——prod——aot——base-href。