2016-07-25 56 views
2

我不明白在哪里放置我的ts和scss文件? wwwroot文件夹用于静态文件,但ts和scss文件已编译。我应该在wwwroot和外部保存类似的文件夹结构,然后将css和js文件复制到wwwroot?asp.net核心,angular2:应该wwwroot文件夹包含scss和打字稿文件?

例如: enter image description here

那岂不是太复杂?看起来很难保持和导航。

enter image description here

+1

使用angular-cli做一个prod构建,复制wwwroot中dist文件夹的内容,你就可以走了。 – Siraj

+1

如果您正在使用自己的构建系统,那么该系统中应该有dist/output文件夹。你需要复制它。 Angular不需要ts和scss文件 – Siraj

+0

是的,我同意。这只是我以前见过的每一个教程。使用Bower安装angular2,然后将库复制到lib文件夹。我想我应该更深入地发现这个问题。谢谢。 – shkiper

回答

2

我应该举行类似的文件夹结构的wwwroot外,然后复制CSS和JS文件的wwwroot? [原文如此]

是的。那是一个好主意。

一旦掌握了这一点,就可以执行更复杂的任务,如捆绑和缩小。

你的问题有很多很多可能的答案。这就是说,你的屏幕截图显示gulpfile.js,您可以使用gulp做到以下几点:

  1. 建立自己的打字稿,把*.js输出为wwwroot
  2. 构建您的SCSS并将*.css输出输入wwwroot

这里有一些资源让你开始。

这里是您根据您的具体需要修改的例子gulpfile.js

'use strict'; 

var gulp = require('gulp'); 
var tsb = require('gulp-tsb'); 
var sass = require('gulp-sass'); 

// create and keep compiler 
var compilation = tsb.create({ 
    target: 'es5' 
}); 

gulp.task('tsc', function() { 
    return gulp.src('./scripts/**/*.ts') 
     .pipe(compilation()) // <- new compilation 
     .pipe(gulp.dest('./wwwroot/appScripts')); 
}); 

gulp.task('sass', function() { 
    return gulp.src('./sass/**/*.scss') 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(gulp.dest('./wwwroot/css')); 
}); 

你需要有npmgulp一定的了解。基本上,从命令行你将运行下面的吞咽任务。

gulp tsc  // to build typescript 
gulp sass // to build sass 

他们会找到你*.ts*.scss文件,构建它们,并将它们保存到指定的目的地。

+0

感谢您的回答。我试图使用gulp和npm。没关系,我对此没有任何疑问。它只是关于相同的文件夹结构。请查看问题的更新。 – shkiper

+1

看看https:// github。com/sirajc/angular2-starter - 它使用gulp,ts和sass - 这将帮助你开始实现你想要的结果 – Siraj

+0

@shkiper关于如何设置你的文件夹结构的问题是非常主观的。 siraj提供了一个很好的建议:查看典型样本,然后模拟一个你喜欢的样本。 –