更改tsconfig的输出目录

时间:2017-03-24 14:39:22

标签: typescript

我正在尝试启动并运行Rails5 + Angular2项目(可部署到Heroku)。

我已经在我的rails应用程序中克隆了Angular2种子项目,两者都运行良好。一些指南建议在root(rails)公用文件夹和(angular)client \ dist \ prod文件夹之间创建一个符号链接,这样Rails就会调用该索引文件并引导Angular项目。

但是我遇到了符号链接的问题。在本地它工作正常,我可以将其推送到git但在部署到Heroku时我得到一个错误,公用文件夹已经存在。

所以我在想,为什么不改变TypeScript的输出目录呢?但如果可能,我找不到任何信息。有什么提示吗?

1 个答案:

答案 0 :(得分:0)

通过一些提示我已经弄清楚发生了什么。在seeds.tasks.json文件中有一些“操作”,例如build.devbuild.prod。在那些操作中是对gulpfile中的任务的调用。

此设置会创建2个不同的文件夹。生产和开发文件夹。开发文件夹在npm服务器上运行良好,但Rails无法处理它。 Rails只能处理生产文件夹。并且必须构建一个以反映TypeScript代码中所做的更改。

我在seeds.task.json文件中创建了一个“move.files”调用,该调用在我的gulpfile中调用了一个任务:

gulp.task('move.files', [], function() {
  console.log('moving files');
  gulp.src("dist/prod/**/*")
    .pipe(gulp.dest('../public'));
});

所以现在当我运行npm run build.prod时,它会构建Angular2项目并将其复制到rails的根公用文件夹以显示所做的更改。

问题在于构建过程大约需要10-15秒,因此在每次更改时构建Angular项目都是愚蠢的。我想我将在npm服务器上进行开发,然后在完成后将生产输出与public rails文件夹“合并”。