[英]Using VS 2015/gulp for versioning js files
我正在使用VS 2015,ASP.NET 5(MVC 6)和Gulp编写带有angularjs和补充模块的SPA 。 我的目标框架是dnx451。 我已经阅读了一些最佳实践,这些最佳实践指出,来自Index的响应应具有严格的无缓存策略集,并且所有其他资源(例如js,css,img)都应被大量缓存。 这样,浏览器将始终下载轻量级页面并缓存脚本。 发布时, 我试图做一个吞咽任务,合并/丑化我的所有JS文件并输出一个app.min。{version} .js (同样适用于-ss- > css文件)。 这提供了始终下载最新文件版本的优点,但是可以在最新和最大版本时将它们保留在缓存中。
有没有办法从gulp任务中获取版本(从project.json)和构建(从project.json的*部分)? 我正在寻找一种方法来使名称的文件{version}部分与网站的版本/版本匹配。
我已经看到了在gulp中针对VS环境变量在gulp中使用process.env
示例,但是很难将各个部分组合在一起以实现所需的Version.Build格式。
我努力了:
var project = require('./project.json');
gulp.task('js-publish', function(){
project.version; //this give 1.0.0-* (makes sense since its a string)
});
和
gulp.task('js-publish', function(){
process.env.BUILD_VERSION; //which is undefined
});
您想使用gulp-rename NPM软件包来重命名该文件。 将gulp-rename添加到您的package.json文件。 这是如何在您的gulpfile.js中使用它的示例:
var rename = require("gulp-rename");
// rename via string
gulp.src("./src/main/text/hello.txt")
.pipe(rename("main/text/ciao/goodbye.md"))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/goodbye.md
// rename via function
gulp.src("./src/**/hello.txt")
.pipe(rename(function (path) {
path.dirname += "/ciao";
path.basename += "-goodbye";
path.extname = ".md"
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/hello-goodbye.md
// rename via hash
gulp.src("./src/main/text/hello.txt", { base: process.cwd() })
.pipe(rename({
dirname: "main/text/ciao",
basename: "aloha",
prefix: "bonjour-",
suffix: "-hola",
extname: ".md"
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/bonjour-aloha-hola.md
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.