[英]TS2307: Cannot find module 'angular2/core' while importing Angular2 on TypeScript
[英]Got “Cannot find module 'angular2/angular2'” using gulp-typescript
我想将Angular 2与TypeScript一起使用,并使用gulp-typescript
编译为JavaScript。 但我收到错误消息Cannot find module 'angular2/angular2'.
。 然后,我尝试更改如下代码。
码
/// <reference path="../../../node_modules/angular2/core.d.ts" />
import {bootstrap, Component} from 'angular2/angular2';
@Component({
selector: 'my-app',
template: '<h1>My First Angular 2 App</h1>'
})
class AppComponent { }
bootstrap(AppComponent);
我低于stacktrace
app/assets/scripts/application.ts(2,36): error TS2307: Cannot find module 'angular2/angular2'.
/Users/xxxx/app/node_modules/angular2/src/core/application_ref.d.ts(83,60): error TS2304: Cannot find name 'Promise'.
/Users/xxxx/app/node_modules/angular2/src/core/application_ref.d.ts(83,146): error TS2304: Cannot find name 'Promise'.
/Users/xxxx/app/node_modules/angular2/src/core/application_ref.d.ts(96,51): error TS2304: Cannot find name 'Promise'.
/Users/xxxx/app/node_modules/angular2/src/core/application_ref.d.ts(96,147): error TS2304: Cannot find name 'Promise'.
/Users/xxxx/app/node_modules/angular2/src/core/application_ref.d.ts(133,90): error TS2304: Cannot find name 'Promise'.
/Users/xxxx/app/node_modules/angular2/src/core/application_ref.d.ts(171,81): error TS2304: Cannot find name 'Promise'.
以下是gulp-typescript和键入(而不是tsd),tsconfig的配置。
// gulpfile.js
...
gulp.task('ts', function() {
var tsconfig = require('./tsconfig.json');
gulp
.src(path.ts)
.pipe($.typescript(tsconfig.compilerOptions))
.pipe($.concat('application.js'))
.pipe(gulp.dest('dist/assets/'));
});
...
// typings.json
{
"dependencies": {},
"devDependencies": {},
"ambientDependencies": {
"es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#6697d6f7dadbf5773cb40ecda35a76027e0783b2"
}
}
// tsconfig.json
{
"compilerOptions": {
"target" : "es5",
"module" : "commonjs",
"sourceMap" : false,
"emitDecoratorMetadata" : true,
"experimentalDecorators": true,
"removeComments" : false,
"noImplicitAny" : false
},
"exclude": [
"node_modules"
]
}
如何使用gulp-typescript编译TypeScript以使用Angular 2?
由于模块加载器找不到angular2/angular2
模块而导致的错误。 可能是在开发应用程序时,您已经参考了旧教程,其中使用了alpha版本,而在开发应用程序时则使用了beta版本。
根据新的Angular2 beta
版本,您应该使用angular2/core
模块,而不是angular2/angular2
。 因为大多数已被分离到不同的模块中。
/// <reference path="../../../node_modules/angular2/core.d.ts" />
import { Component } from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
@Component({
selector: 'my-app',
template: '<h1>My First Angular 2 App</h1>'
})
class AppComponent { }
bootstrap(AppComponent);
另请参阅此答案以获取更多信息
Plunkr在行动
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.