grunt-typescript不会在指定的`dest`中生成js文件

时间:2013-10-08 11:43:28

标签: javascript node.js typescript gruntjs

我有以下目录结构:

root
|
|_ package.json
|_ Gruntfile.js
|
|_ javascripts/
   |_ ts/file.ts

在Gruntfile中我有这个:

//Project Config
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    typescript: {
        base: {
            src: ['./javascripts/ts/*.ts'],
            dest: './javascripts/'
        }
    }       
});

我希望js文件位于javascripts/目录中。但是,当我运行grunt typescript时,它会创建这个奇怪的目录结构:

root
|
|_ package.json
|_ Gruntfile.js
|
|_ javascripts/
   |_ ts/file.ts
   |_ javascripts/
      |_ ts/
         |_ file.js

我希望编译的file.js出现在原始的javascripts/目录中。 为什么会这样?我应该写什么来编译所需文件夹中的编译.js文件?

2 个答案:

答案 0 :(得分:5)

看到输出我会假设以下内容可行:

typescript: {
    base: {
        src: ['./javascripts/ts/*.ts'],
        dest: '../../javascripts/'
    }
} 

我个人创作并维护grunt-tshttps://npmjs.org/package/grunt-ts

答案 1 :(得分:1)

另一种选择是使用base_path配置:

//Project Config
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    typescript: {
        base: {
            src: ['./javascripts/ts/*.ts'],
            dest: './javascripts/',
            options: {
                base_path: './javascripts/ts'
            }
        }
    }       
});