Есть ли способ автоматически копировать файлы в wwwroot?

У меня .HTML-код в каталоге wwwroot в и доступ к нему осуществляется из браузера на locahost:5001. Whe nI установил некоторые пакеты с помощью NPM, каталог папки node_modules был размещен на том же уровне, что и wwwroot в.

когда я связываюсь с файлами, я использую относительный путь, подобный этому.

href="../node_modules/package_this_or_that / package.минута.js"

Мне кажется, что лучшим подходом было бы доставить их в wwwroot в каталог и иметь их там. Не все содержимое пакетов, а только файлы, которые фактически используются (пропуск readmes и т. д.).

есть ли пакет для этого? Или это то, что нужно сделать с помощью скрипта сборки?

1 ответов


вы не должны получать доступ к файлам node_modules из интерфейса, как ваши файлы html или cshtml. Так что вы правы, вы должны скопировать их в .

можно использовать grunt как связаны в Цзэн комментарий но я лично предпочитаю Gulp, Я думаю, что это намного быстрее и проще в использовании.

код :

{
    "version": "1.0.0",
    "name": "asp.net",
    "private": true,
    "devDependencies": {
        "gulp": "3.9.1",
        "gulp-cached": "1.1.0",
    }
}

затем создать gulpfile.js в корневом каталоге вашего проекта и вы можете что-то написать как

var gulp = require('gulp'),
cache = require('gulp-cached'); //If cached version identical to current file then it doesn't pass it downstream so this file won't be copied 

gulp.task('default', 'copy-node_modules');

gulp.task('copy-node_modules', function () {

try {

    gulp.src('node_modules/**')
        .pipe(cache('node_modules'))
        .pipe(gulp.dest('wwwroot/node_modules'));
    }
    catch (e) {
        return -1;
    }
    return 0;
});

открыть Task Runner Explorer (если вы используете Visual Studio) и выполните свой default задача или непосредственно copy-node_modules задач.

Gulp очень полезно, я предлагаю вам изучить другие различные задачи gulp. Вы можете объединить и минимизировать файлы CSS и JS, удалить комментарии, вы даже можете создать watch задача, которая выполняет другие задачи, как только файл изменяется.