Angular 2打字稿到javascript?

Mar*_*k W 9 angular

目前,我仍然围绕着整个Angular 2概念.我过去使用过AngularJS(1),我喜欢它.

所以目前我正在开始一个新项目并想到为什么不开始使用Angular 2.现在我知道每个人都在使用Typescript而不是javascript.但是,我仍然不确定如何在一个简单的Web托管服务器(PHP,HTML,MySQL,Javascript等)上运行项目.

我知道我可以在我的Linux服务器上运行npm start,但是如何将它放在托管服务器上呢?我不能将Typescript编译为javascript,这样我就可以在浏览器中使用它而无需运行npm吗?我读了一些关于JSPM和其他几个的东西,但我不确定这是否是我需要的,也不知道如何使用JSPM或类似的东西(例如使用JSBPM的"5分钟以下快速启动").

我知道Angular 2有一个javascript部分,这对我有用.但是没有编码示例,您在互联网上找到的所有内容都是Typescript.因此我无法继续在javascript中运行Angular 2,因为缺少教程.

简而言之,我不介意使用Typescript,但我只想要一个纯粹的javascript作为结果,我可以导入HTML并从那里开始.

另外在旁注问题上,运行生产时是否需要存在所有node_modules?

教程的奖励积分可以解释这一点!

谢谢!

Thi*_*ier 7

事实上,angular.io网站上有一个关于此的文档:

它显示了将TypeScript代码转换为ES5代码的方法,它似乎正是您正在寻找的东西.

这是一个示例:

  • 打字稿

    import { Component } from '@angular/core';
    
    @Component({
      selector: 'hero-view',
      template: 
        '<h1>Hero: {{getName()}}</h1>'
    })
    export class HeroComponent {
      title = 'Hero Detail';
      getName() {return 'Windstorm';}
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • ES5

    function HeroComponent() {
      this.title = "Hero Detail";
    }
    
    HeroComponent.annotations = [
      new ng.core.Component({
        selector: 'hero-view',
        template:
          '<h1>Hero: {{getName()}}</h1>'
      })
    ];
    HeroComponent.prototype.getName =
      function() {return 'Windstorm';};
    
    Run Code Online (Sandbox Code Playgroud)

    在哪里可以这样做;-)

    function HeroComponent() {
      this.title = "Hero Detail";
    }
    
    var HeroComponent = new ng.core.Component({
      selector: 'hero-view',
      template:
        '<h1>Hero: {{getName()}}</h1>'
    }).Class({
      constructor: function() {
      },
    
      getName: function() {
        return 'Windstorm';
      }
    });
    
    Run Code Online (Sandbox Code Playgroud)

关于Angular2应用程序的打包,这个问题也会让您感兴趣: