目前有什么好的js和css版本控制程序

 我来答
御姐萝莉LOL
2016-03-30 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1.3万
采纳率:82%
帮助的人:1338万
展开全部
ulp 对应的插件有:
sindresorhus/gulp-rev · GitHub
jonkemp/gulp-useref · GitHub

与之配合的插件有:
jamesknelson/gulp-rev-replace · GitHub
sindresorhus/gulp-filter · GitHub
terinjokes/gulp-uglify · GitHub
ben-eb/gulp-csso · GitHub

开发时:

<html>
<head>
<!-- build:css({.tmp,src}) /assets/styles/main.css -->
<link rel="stylesheet" href="styles/one.css">
<link rel="stylesheet" href="styles/two.css">
<!-- endbuild -->
</head>
<body>
<!-- build:js({.tmp,src}) /assets/scripts/main.js -->
<script type="text/javascript" src="scripts/one.js"></script>
<script type="text/javascript" src="scripts/two.js"></script>
<!-- endbuild -->
</body>
</html>

构建后:

<html>
<head>
<link rel="stylesheet" href="/assets/styles/main-b8e5904e.css">
</head>
<body>
<script src="/assets/scripts/main-912c3511.js"></script>
</body>
</html>

构建代码:

var gulp = require('gulp');
var rev = require('gulp-rev');
var revReplace = require('gulp-rev-replace');
var useref = require('gulp-useref');
var filter = require('gulp-filter');
var uglify = require('gulp-uglify');
var csso = require('gulp-csso');

gulp.task('index', function() {
var jsFilter = filter('**/*.js', {restore: true});
var cssFilter = filter('**/*.css', {restore: true});

var userefAssets = useref.assets();

return gulp.src('src/index.html')
.pipe(userefAssets) // 解析html中build:{type}块,将里面引用到的文件合并传过来
.pipe(jsFilter)
.pipe(uglify()) // 压缩Js
.pipe(jsFilter.restore)
.pipe(cssFilter)
.pipe(csso()) // 压缩Css
.pipe(cssFilter.restore)
.pipe(rev()) // 重命名文件
.pipe(userefAssets.restore())
.pipe(useref())
.pipe(revReplace()) // 重写文件名到html
.pipe(gulp.dest('dist'));
});

说明:如上述代码运行不通过可能是插件版本问题,请参照最新官方文档自行修改。

作者:游志军
链接:http://www.zhihu.com/question/27548038/answer/37140329
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

推荐你使用两个 Grunt 插件:

cbas/grunt-rev · GitHub:生成文件的 hash,使用对应的 hash 重命名文件;

yeoman/grunt-usemin · GitHub:可与 grunt-rev 结合使用,替换 html 和 css 中的静态引用为加了 hash 之后的文件。

在 grunt-usemin 中提供了两个 grunt task,一个是 useminPrepare,允许你在 HTML 中对要合并打包的文件进行标记,可以自动生成合并的 cssmin、concat 的配置,后两者根据这些配置,合并生成所需的文件。另外一个是 usemin,这个 task,往往被使用者所忽略,不过它非常强大,就是提供了你所想要的替换功能。

在 Teambition 就是使用这两个插件来构建的。

补充:gulp 也有类似的插件,不过不知道能不能提供以上两个工具所具备的功能,你可以搜搜看。

作者:寸志
链接:http://www.zhihu.com/question/27548038/answer/37080465
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南骚刘斩仙
2016-03-29 · TA获得超过2165个赞
知道大有可为答主
回答量:2771
采纳率:0%
帮助的人:2115万
展开全部
目前Yeomen为现代WEB应用而生的现代工作流
试试Yeomen,它由三种核心工具构成:yo(脚手架工具),bower(包管理工具),grunt(构建工具)。
Yo 搭建新应用的脚手架,编写你的Grunt配置并且安装你有可能在构建中需要的相关的Grunt任务。
Grunt 被用来构建,预览以及测试你的项目。
Bower 被用来进行依赖管理,所以你不再需要手动的下载和管理你的脚本了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
51CTO学院
2016-03-30 · 中国最大的IT实战在线培训平台
51CTO学院
中国最大的IT实战在线教育培训平台。
向TA提问
展开全部
Yeomen,它由三种核心工具构成:yo(脚手架工具),bower(包管理工具),grunt(构建工具)。
Yo 搭建新应用的脚手架,编写你的Grunt配置并且安装你有可能在构建中需要的相关的Grunt任务。
Grunt 被用来构建,预览以及测试你的项目。
Bower 被用来进行依赖管理,所以你不再需要手动的下载和管理你的脚本了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
键盘手文哥
2016-03-29 · TA获得超过2453个赞
知道大有可为答主
回答量:2329
采纳率:47%
帮助的人:705万
展开全部
我个人比较喜欢 GIT ,代码可以存放在 git.oschina.net
另外 SVN 也可以,但要依赖网络。
我们做软件开发的,都是用这2款了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HHPpeace888
2016-03-30 · TA获得超过565个赞
知道小有建树答主
回答量:529
采纳率:66%
帮助的人:366万
展开全部
git比较好,可以代码托管

svn使用的人慢慢变少了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式