问题
为什么我的Grunt Typescript编译器无法找到角度核心?
我想它与路径有关,所以编译器无法在node_modules目录中找到lib。
错误
typescript / add.component.ts(1,25):错误TS2307:找不到模块' angular2 / core'。
设置
Gruntfile.js任务
typescript: {
all: {
src: ['typescript/**/*.ts'],
dest: 'javascript/frontend',
options: {
target: "es5",
module: "system",
moduleResolution: "node",
emitDecoratorMetadata: true,
experimentalDecorators: true,
removeComments: false,
noImplicitAny: false
}
}
打字稿/ add.component.ts
import {Component} from 'angular2/core';
@Component({
selector: 'mytest',
template: '<h1>test</h1>'
})
export class AppComponent { }
node_modules
文件路径
app -- node_modules
-- typescript
-- app.component.ts
-- Gruntfile.js
-- package.json
使用过的libs / frameworks / tutorials
答案 0 :(得分:3)
刚才我遇到了同样的问题。以详细模式运行grunt显示了它从grunt配置生成的ts配置文件的内容。仔细观察,结果表明,根本没有使用moduleResolution选项。但是,另一方面,官方的grunt-typescript页面上没有描述它。
无论如何,长话短说:我已经使用了grunt-ts包而且一切都很顺利!为方便起见,我在下面发布了我的配置: - )
module.exports = function(grunt) {
grunt.initConfig({
ts: {
base: {
src: ['src/**/*.ts'],
dest: 'dist',
options: {
module: 'system',
moduleResolution: 'node',
target: 'es5',
experimentalDecorators: true,
emitDecoratorMetadata: true,
noImplicitAny: false
}
}
}
});
grunt.loadNpmTasks('grunt-ts');
grunt.registerTask('default', ['ts']);
};