Angular 2 / Typescript:无法找到

时间:2015-06-12 22:22:33

标签: typescript gulp angular

我正在尝试使用gulp typescript编译器运行angular 2示例。 gulp-script编译

import {Component, View, bootstrap} from 'angular2/angular2';

var angular2_1 = require("angular2/angular2")

不在浏览器中运行。这有什么问题?据我所知,这种实施需要'仅用于nodeJS。为什么TypeScript编译器仍然像那样编译它?

任何想法?

亲切的问候

2 个答案:

答案 0 :(得分:2)

那是因为你通过将commonjs传递给--module标志或只是-m来编译要由节点提供的打字稿文件。

你也可以传入amd:

> tsc.cmd -m amd -t es5 --emitDecoratorMetadata app.ts

将产生以下js:

define(["require", "exports", "angular2/angular2"], function (require, exports, angular2_1)

否则,如果您只是希望它在示例中工作,请安装http-server模块并提供页面。

> npm install -g http-server
> http-server

访问

localhost:8080/index.html

答案 1 :(得分:0)

我无法使其工作,但能够使用gulp-traceur。这是我的gulpfile。

var gulp = require('gulp');
var gulpTraceur = require('gulp-traceur');
var through2 = require('through2');
var gutil = require('gulp-util');
var sourcemaps = require('gulp-sourcemaps');
var copy = require('gulp-copy');

gulp.task('compile',function() {
  return gulp.src("./*.es6.js")
    .pipe(sourcemaps.init())
    .pipe(gulpTraceur({
        sourceMaps: true,
        outputLanguage: 'es5',
        annotations: true, // parse annotations
        types: true, // parse types
        script: false, // parse as a module
        memberVariables: true, // parse class fields
        modules: 'instantiate'
    }))
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('dist'));
});

gulp.task('copy', function () {
    return gulp.src(['*.html', '*.css'])
        .pipe(copy('dist'));
});

gulp.task('watch', function () {
    gulp.watch(['*.html', '*.css', './*.es6.js'], ['compile', 'copy']);
});


gulp.task('default', ['compile', 'copy', 'watch']);

这个项目可以在这里看到:

https://github.com/dylanb/Axponents/tree/master/angular2