繁体   English   中英

避免加载所有JavaScript文件

[英]Avoid to load all javascripts files

我在打字稿中使用rxjs,如下所示:

import {Observable} from "./rx/Rx"

var main = () => {

  $(".ui.dropdown").dropdown();
  $(".left-half").backstretch(["../images/lotus.jpg"]);

  var source = Observable.range(0, 3);


  var subscription = source.subscribe(
    x => {
      console.log("Next: ${x}");
    },
    err => {
      console.log("Error: ${err}");
    },
    () => {
      console.log("Completed");
    });

};

$(document)
  .ready(() => {
    main();
  });

和文件结构

在此处输入图片说明

问题是,打字稿将其编译为多个文件,而不是一个文件。 在此处输入图片说明

一切正常,但来自rxjs的所有脚本将按如下所示加载:
在此处输入图片说明

要加载页面,需要25.42s ,这太可怕了。 我仅使用Observable对象,所有库都将被加载。

如何防止长时间加载?

更新对于后端,我正在使用ASP.NET Core,tsconfig文件如下所示:

{
  "compilerOptions": {
    "module": "amd",
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es6",
    "outDir": "../wwwroot/js"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

并使用require.js(布局模板):

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>@ViewData["Title"] - IndustryCloud</title>

  <environment names="Development">
    <link href="~/lib/sui/semantic.css" rel="stylesheet" />
    <link rel="stylesheet" href="~/css/site.css" />
  </environment>

  <environment names="Staging,Production">
    <link href="~/lib/sui/semantic.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="~/css/site.css" />
  </environment>

</head>
<body>

  @RenderBody()

  <environment names="Development">
    <script src="~/lib/jquery/jquery.js"></script>
    <script src="~/lib/jquery-backstretch/jquery.backstretch.js"></script>
    <script src="~/lib/sui/semantic.js"></script>
    <script src="~/lib/require/require.js" data-main="../js/signin.js"></script>
  </environment>

  <environment names="Staging,Production">

  </environment>

</body>
</html>

如何防止长时间加载

请使用模块捆绑器捆绑和运送一个JS文件,例如webpack

更多

这是一个盲目的简单(功能较差)的快速入门: https : //basarat.gitbooks.io/typescript/content/docs/quick/browser.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM