应用在生产中加载时间过长

App takes too long to load in production

本文关键字:时间 加载 生产中 应用      更新时间:2023-09-26

我已经在 heroku 上推送了我的 angular 2 应用程序,但加载时间太长。

有没有办法将所有内容捆绑在一起,因为现在我的索引中有这个.html

<html>
<head>
    <base href="/">
    <title>Angular 2 Arc</title>
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <ng2-app>Loading...</ng2-app>
  <!-- Load Angular 2 Core libraries -->
  <script src="es6-shim/es6-shim.min.js"></script>
  <script src="systemjs/dist/system-polyfills.js"></script>
  <script src="angular2/bundles/angular2-polyfills.js"></script>
  <script src="systemjs/dist/system.src.js"></script>
  <script src="rxjs/bundles/Rx.js"></script>
  <script src="angular2/bundles/angular2.dev.js"></script>
  <script src="angular2/bundles/router.dev.js"></script>
  <script src="angular2/bundles/http.js"></script>
  <!-- Load Bootstrap and Jquery -->
  <script src="lib/jquery/jquery.min.js" charset="utf-8"></script>
  <script src="lib/bootstrap/js/bootstrap.min.js" charset="utf-8"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
  <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css" media="screen" title="no title" charset="utf-8">
  <link rel="stylesheet" href="assets/css/app.css">
  <!-- Configure SystemJS -->
  <script>
      System.config({
          defaultJSExtensions: true,
          packages: {
              boot: {
                  format: 'register',
                  defaultExtension: 'js'
              }
          }
      });
      System.import('js/boot')
              .then(null, console.error.bind(console));
  </script>
</body>
</html>

我的设置是快速服务器和系统 JS。

服务器.js

var express = require('express');
var bodyParser = require('body-parser')
var fs = require("fs");
// initialize express
var app = express();
// declare build and node_module paths
app.use(express.static("./build"));
app.use(express.static("./node_modules/"));
// parse request body
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
var body;
// route to send json data from angular 2
app.post('/export', function(req, res){
  body = req.body;
  res.json("Got the data!");
  fs.writeFile('parameters.json', JSON.stringify({body}, null, 4), function (err) {
    if (err) return console.log(err);
    console.log('Data json file created!');
  });
});

// start server
app.listen(process.env.PORT || "3001", function(){
  console.log("Express server running on localhost:3001");
});

如果是免费的 heroku 层,可能是因为当您请求它时它会睡觉?

您可以缩小和连接 js 文件以减少加载时间。

以下是有关如何使用gulp任务执行此操作的指南:https://caveofcode.com/2016/03/gulp-tasks-for-minification-and-concatenation-of-dependencies-in-angularjs/