在Visual Studio 2015中使用Gulp自动化Angular 2

时间:2016-12-27 15:15:09

标签: angular visual-studio-2015 gulp

首先,我是Angular 2的新手,我的主要背景是C#,ASP.Net,Core和Visual Studios。

我正在尝试通过观看一些教程,视频来开发我在VS2015中的第一个Angular2应用程序。我设法按照步骤操作并使其成功运行。但我真的很困惑,不同的人用不同的方式来实现同样的事情。

例如:

  • 有些人把TS文件放在wwwroot中,有些放在wwwroot之外。有人说 我们不应该把它放在wwwroot中。
  • 有些人使用Gulp将文件复制到wwwroot。有些人使用WebPack并将所有文件合并到一个大的.js文件中?

因此,我决定开发具有以下功能的示例应用程序

  • TS文件将在wwwroot之外并生成js& html文件将使用Gulp
  • 复制到wwwroot
  • 每当我改变时想要自动复制html文件
  • 每当我更改TS文件时都想自动复制js文件

enter image description here

我的gulpfile.js如下所示:

"use strict";

var gulp = require("gulp");
var del = require('del');

var scriptsSource = "./app/";
var scriptsDest = "./wwwroot/app";

gulp.task('clean', function () {
    return del([
        scriptsDest
    ]);
});

gulp.task("js", function () {
    gulp.src(scriptsSource + "**/*.js")
        .pipe(gulp.dest(scriptsDest));
});

gulp.task("html", function () {
    gulp.src(scriptsSource + "**/*.html")
        .pipe(gulp.dest(scriptsDest));
});

gulp.task("watch", function () {
    gulp.watch(scriptsSource + "**/*.html", ["html"]);
    gulp.watch(scriptsSource + "**/*.js", ["js"]);
});

gulp.task("copy-deps", ['clean','html', 'js']);

对于html文件,只要它被更改,它就会自动复制。

但是当我更改.ts文件时,它不会复制.js文件。我发现当我更改.ts文件时,不会自动生成.js文件。只有在我重新构建VisualStudio项目时才会生成新的.js文件。

我的第一个问题是......它应该是那样的吗?它是否完全依赖于VS build命令?一些程序员没有使用VS作为他们的IDE。他们如何从.ts文件生成.js文件?

enter image description here

主要问题是我的gulp-watch任务没有复制新生成的文件。它只复制已存在的文件(不依赖于打字稿文件)。它完全忽略了新生成的文件。每当我更改ts文件时,我必须再次运行两个任务(clear& copy-des)。

请您指导我如何在VS2015中达到上述要求?如果我没有朝着正确的方向前进,请随时向我推荐。

我更喜欢从一开始就采取正确的方式,而不是解决因不良做法而产生的问题。谢谢大家。

EDITED 如果要在构建后复制工件(ts或html),可以在Task Runner Explorer中配置这些任务。 enter image description here

0 个答案:

没有答案