簡體   English   中英

Angular 2 / Typescript:找不到要求

[英]Angular 2/Typescript: require not found

我正在嘗試使用gulp打字稿編譯器運行angular 2示例。 gulp腳本編譯

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

var angular2_1 = require("angular2/angular2")

無法在瀏覽器中運行。 這有什么問題? 據我所知,這種“需要”的實現僅與nodeJS一起使用。 為什么TypeScript編譯器仍然像這樣編譯它?

有任何想法嗎?

親切的問候

這是因為您正在通過將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

我無法使它正常工作,但能夠與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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM