如何使用 SystemJS 禁用加载 *.ts 文件

How to disable load *.ts files with SystemJS

我正在尝试使用此 guide

构建我的第一个 A2 应用程序

一切正常,但我收到如下截图所示的 js 和 ts 文件:

  1. 是否可以不加载*.ts文件?

  2. 是否可以将供应商文件合二为一?目前 App 正在加载大约 40 个请求。

配置文件如下:

tsconfig

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "sourceMap": true
  },
  "exclude": [
    "node_modules"
  ]
}

systemjs.config

(function (global) {
  var map = {
    'app': 'app', // 'dist',
    '@angular': 'node_modules/@angular',
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
    'rxjs': 'node_modules/rxjs'
  };
  var packages = {
    'app': { main: 'app.boot', defaultExtension: 'js' },
    'rxjs': { defaultExtension: 'js' },
    'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }
  };
  var ngPackageNames = [
    'common',
    'compiler',
    'core',
    'forms',
    'http',
    'platform-browser',
    'platform-browser-dynamic',
    'router',
    'router-deprecated',
    'upgrade'
  ];
  function packIndex(pkgName) {
    packages['@angular/' + pkgName] = { main: 'index.js', defaultExtension: 'js' };
  }
  function packUmd(pkgName) {
    packages['@angular/' + pkgName] = { main: 'bundles/' + pkgName + '.umd.js', defaultExtension: 'js' };
  }
  var setPackageConfig = System.packageWithIndex ? packIndex : packUmd;
  ngPackageNames.forEach(setPackageConfig);
  var config = {
    map: map,
    packages: packages,
    transpiler: 'none',
    defaultJSExtensions: true
  };
  System.config(config);
})(this);

快速入门指南只是让您开始使用基本应用程序。

如果你想使用生产就绪的应用程序,你必须投资创建你的持续集成包,可能正在使用 Gulp\Grunt 任务运行器。

Angular 团队也为这个名为 Angular CLI

的界面提供了一个非常好的界面

可以找到有关如何使用它的详细说明here on Angular CLI Github repo

1) 它实际上并没有加载 TS 文件。因为您正在生成 Source Maps,所以浏览器知道如何建立连接,这反过来又使您的开发更容易。

2) 我会研究 Ionic 框架并模仿他们使用 Browserify 所做的很多事情。我正在用它来构建我的前端。它将所有 JS 合并到一个文件中,如果你告诉它做一个发布构建,缩小和一切。它使用 Gulp,如 Madhu 所说。