Как настроить статические файлы ASP.NET Core для изменения в зависимости от среды (prod vs dev)?

visual-studio-2015 gulp asp.net-core asp.net-core-1.0

528 просмотра

2 ответа

971 Репутация автора

У меня есть проект ang2, VS 2015, ASP.NET 4.6.1, но он не относится к mvc. Так что у меня нет доступа к <environment>. Использование глотка, так что это может быть использовано как часть решения.

Как я могу настроить статические файлы, такие как index.html, чтобы использовать уменьшенную версию файлов? В настоящее время я использую глоток, чтобы сделать работу.

Я посмотрел на это, но это для проектов MVC. https://docs.asp.net/en/latest/fundamentals/environments.html

Обновление :

Пример:

Как мне получить Index.html в папке wooroot, чтобы указать на неминифицированные сценарии в разработке, а затем указать на минимизированную версию в разработке? Так же, как в примере в URL. При использовании MVC вы можете сделать так, чтобы он поменял код. Без MVC это кажется невозможным.

Автор: Mastro Источник Размещён: 18.07.2016 07:33

Ответы (2)


0 плюса

29864 Репутация автора

Вы можете изменить расположение статических файлов, вызывая app.UseStaticFilesпользовательские параметры.

if (env.IsDevelopment())
{
    app.UseStaticFiles(new StaticFileOptions()
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
        RequestPath = new PathString("/StaticFiles")
    });
}

Обратите внимание, что существует несколько app.UseStaticFilesвызовов. См. Работа с документацией Статических файлов для получения дополнительной информации.

Автор: Set Размещён: 21.07.2016 07:16

0 плюса

971 Репутация автора

Решение

Хорошо, нашел ответ, который я искал.

Используя gulp-html-replace, https://www.npmjs.com/package/gulp-html-replace

<!-- build:<name> -->
Everything here will be replaced
<!-- endbuild -->

Пример:

index.html

<!-- build:css -->
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<!-- endbuild -->

</head>
<body>

<!-- build:js -->
<script src="js/player.js"></script> 
<script src="js/monster.js"></script> 
<script src="js/world.js"></script> 
<!-- endbuild -->

gulpfile.js

var gulp = require('gulp');
var htmlreplace = require('gulp-html-replace');

gulp.task('default', function() {
  gulp.src('index.html')
    .pipe(htmlreplace({
        'css': 'styles.min.css',
        'js': 'js/bundle.min.js'
    }))
    .pipe(gulp.dest('build/'));
});
Автор: Mastro Размещён: 28.07.2016 09:18
Вопросы из категории :
32x32