Angular 2/打字稿:未找到要求

Angular 2/Typescript: require not found

我正在尝试获取 angular 2 示例 运行 一个 gulp 打字稿编译器。 gulp-脚本编译

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

var angular2_1 = require("angular2/angular2")

在浏览器中没有 运行。这有什么问题?据我所知,这种 'require' 的实现仅用于nodeJS。为什么TypeScript编译器还是那样编译?

有人有什么想法吗?

亲切的问候

我无法让它工作,但能够让它与 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

那是因为您正在通过将 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