[英]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']);
該項目可以在這里看到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.