2016-08-05 2 views
0

Я пытаюсь получить кэширование в моем выходе файла gulp для работы. В настоящее время он выводит такой файл: main.2d06434c1c57525870ac-e7615836.js, но всякий раз, когда я изменяю файлы машинописных файлов и перестраиваю хэш в выводе имени файла, всегда одно и то же.WebPack Cache busting hash в именах файлов никогда не изменяется

Я пробовал встроенный хэширование веб-пакетов и зависание с виниловыми именами, чтобы увидеть, было ли что-то не так с одной из их конфигураций, но опять же их выходное имя файла одинаково для каждой перестройки.

Вот связанная часть моей задачи строителя. Благодаря!

var packer = gulp.src(['./src/basePolyfills.ts', './src/external.ts', './src/main.ts']) 
.pipe(named()) 
.pipe(webpack({ 
     output: { filename: '[name].[hash].js' }, 
     module: { 
       loaders: [ 
      { test: /\.ts$/, loader: 'ts' }, 
      { test: /\.html$/, loader: 'html' } 
       ] 
     }, 
     resolve: { extensions: ['', '.js', '.ts'] } 
})) 
.pipe(hash()) 
.pipe(gulp.dest('./wwwroot/js/')); 

ответ

0

Где находится ваш хэш()? Насколько я знаю, webpack автоматически вычисляет chunkhash. Имейте в виду, что существует разница между «хэш» и «чунхаш». chunkhash - хэш на кусок, тогда как «хеш» кажется хешем для всех файлов.

Вы можете попробовать:

var packer = gulp.src(['./src/basePolyfills.ts', './src/external.ts', './src/main.ts']) 
.pipe(named()) 
.pipe(webpack({ 
     output: { filename: '[name].[chunkhash].js' }, 
     module: { 
       loaders: [ 
      { test: /\.ts$/, loader: 'ts' }, 
      { test: /\.html$/, loader: 'html' } 
       ] 
     }, 
     resolve: { extensions: ['', '.js', '.ts'] } 
})) 
.pipe(gulp.dest('./wwwroot/js/')); 
Смежные вопросы