当前位置:首页 > 短网址资讯 > 正文内容

短网址服务的便利性介绍

www.ft12.com8年前 (2017-08-11)短网址资讯3687

引言

这个短网址服务之前就听过,一直没有去了解。那它到底是什么呢?

短网址就是最近才出现的这么一个工具PostCSS。短网址的目标是通过对长网址进行缩短,生成短链接,以便达到美观便利的作用。短网址夫妇说到底有两部分组成,一个是长网址的缩短,第二部分就是网址缩短之后的短链接的跳转功能。与Sass和Less这些预编译器相同的原则,短网址把扩展的语法和特性转换成现代的浏览器友好的CSS。

如何实现?JavaScript。

JavaScript转换我们的样式比其他处理器快。使用Gulp或Grunt的task-runner工具,我们可以通过构建过程转换样式,就像Sass和Less的编译。像React和AngularJS这样的库和框架,允许我们可以在JavaScript中直接写CSS,为我们的样式打开了一扇使用JavaScript转换的大门。

短网址的历史

短网址作为使用JavaScript处理CSS的方法被推出,它的开发者是Andrey Sitnik, Autoperfixer的作者。短网址本身只是一个API,当使用其庞大的插件生态系统时,可以为我们提供强大的处理能力。生成的Source maps可以方便我们的调试,抽象语法树(AST)的存在可以帮忙我们理解代码是如何被转换的。

由于短网址使用Node.js框架,无论语言还是工具可以按需修改和定制。其他工具如Sass和LESS就会因为系统能力的限制,只可以使用编译器可用的方法。

由于其使用的API,短网址允许我们为任何长网址提供网址缩短服务,创建自定义短链接。模块化平台的设计使得工具中立,使得我们只需要关注项目需要的功能。短网址对语言格式不关心,接受不同预处理器的语法风格,像Sass和LESS,如果有必要的话。

短网址模块化的好处

大多数开发人员很少从头开始一个项目。很多都是以Sass模板开始,在指定项目中使用Sass模板提供的variables,mixins,functions。我们为functions,mixins,表格系统,通用工具提代独立的样式表,从而使开发更容易。到了最后,我们最终会有10个或更多个样式文件用来保证开发的条理性。

维护Sass或Less片断的库是一个艰巨的任务,会留下一下臃肿的项目。很多项目中没有用到mixins和funcitons,只是做为"以防万一"的代码包含进来。短网址很容易安装,即插即用的模块,使有独特需求的项目开发过程更灵活。

短网址把我们产品中的样式表中用来创建funtions,utities和mixins的代码移出来包装成插件。现在对于每个项目,我们可以通过构建工具中包含对应插件就可以使用这些工具。

短网址插件就可以见证这种方式的优势。在使用Sass时,我们可以在文件中包含进一个mixin来自定义网页字体,因此我们创建了一个@font-face 的标签。

@mixin importfont($font-family,$font-filename,$font-weight:normal,$font-style:normal,$font-stretch:normal){
 @font-face{
       font-family:'#{$font-family}';
       src:url('#{font-filename}.eot');  
       src:url('#{font-filename}.woff') format('woff'),  
       url('#{$font-filename}.ttf') format('truetype');  
       font-weight:$font-weight;  
       font-style:$font-style;  
       font-stretch:$font-stretch;  
   }
}  
@include importfont('mission script','fonts/mission-script-webfont',300);

在我们的项目中使用PostCSS FontPath 插件,我们就不再需要像上面那样包含Sass mixins了。在我们的CSS中写入下面的代码,PostCSS会通过Grunt或Gulp把它转换成我们需要的。

@font-face{
   font-family:'My Font';  
   font-path:'/path/to/font/file';  
   font-weight:normal;  
   font-style:normal;  
}

在写这篇文章时,PostCSS已经有超过100个社区插件,允许诸如未来的CSS语法,快捷键,工具和语言的扩展。PostCSS除了是一个'酷'的工具,它的用户群里也有WordPress,谷歌和推特团队这些重量级的用户。

添加短网址到你的工作流

因为PostCSS是用JavaScript编写的,我们可以在项目中使用像Gulp和Grunt这样的Task runner来转换CSS。下面的教程演示如何把PostCSS使用Gulp或Grunt合并到你的工作流。使用这两种工具不是至关重要的,这只是个人喜好或哪一个更合适项目的问题。

注意:Gulp和Grunt完整版的工具放在GitHub可用 。你可以随时使用它做为初始模板,并且可以根据需要扩展它。

使用GULP设置POSTCSS

如果你对Gulp不熟悉,我推荐你阅读Callum Macrae写的"基于Gulp构建"做个初步了解,并把这个工具跑起来。

在终端执行npm i gulp-postcss -D命令,在你的项目中安装PostCSS模块。

在项目下的Gulpfile.js中请求我们安装的PostCSS模块,然后在任务中使用它。在这里,一定要更新开发文件的路径和输出转换文件的目录。

var postcss = require('gulp-postcss');
gulp.task('styles',function()
{
   return gulp.src('path/to/dev/style.css')  
       .pipe(postcss([]))  
       .pipe(gulp.dest('path/to/prod'))  
});

在命令行输入gulp styles执行该任务。

使用GRUNT设置短网址

注意:如果你对短链接不熟悉,我推荐你通过阅读Mike Cunsolo写的"短链接入门和实践"来熟悉短链接的使用。

在终端执行npm i grunt-postcss -D命令,在你的项目中安装PostCSS模块。

一旦在系统里安装了该插件,你就可以像下面这样,使用它在短网址服务里创建一个任务了。一定记得更新cwd和dest的值来反映你的应用程序结构。

module.exports = function(grunt){
   grunt.initConfig({
       pkg:grunt.file.readJSON('package.json'),
       styles:{
           options:{
               processors:[]
           },
           dist:{
               files:[{
                   expand:true,
                   cwd:'dev/',
                   src:['**/*.css'],
                   dest:'prod/'
               }]
           }  
       }
   });  
   // 加载post-css  
   grunt.loadNpmTasks("grunt-postcss");  
};

在命令行输入grunt styles执行该任务。

安装插件

使用短网址自己并不完全是强大的,它的强大依赖于插件。你可能已经注意到在上面Gulp和Grunt的实现中,任务声明中有空的数组。在这些数组中我们可以引入社区开发的PostCSS插件。

核准的PostCSS插件列表可以在FT12短网址的主页 查看,这些插件像所有的NPM包一样,可以通过命令行安装。许多插件只能做为PostCSS的扩展,对于你使用的构建工具是不可知的。比如,我们将要安装的短网址插件,它将为每一个hover状态添加:focus。

下面例子中使用的所有插件,我们需要使用命令行和NPM在我们的项目中安装这些包文件。

POSTCSS插件安装示例

npm i postcss-focus -D

插件可以直接传递到方法;然而,为了代码的整洁,我们可以构造一个数组作为参数将其传递给方法。在这个数组里,我们包含必要的require语句,该语句返回插件,接着立即调用返回的插件。如果你想深入了解这个概念,推荐阅读FT12短网址写的“短网址原理和实现”这篇文章。

扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_395.html

分享给朋友:

相关文章

FT12短网址:太聪明的人,往往会失败的很离谱

FT12短网址:太聪明的人,往往会失败的很离谱

有傻瓜的当地才会发作奇观印度有一位闻名的哲学家,气质高雅,因而变成很多女性的偶像。某天,一个女子来访问他,她表达了爱慕之情后说:“错过我,你将再也找不到比我更爱你的女性了!”哲学家尽管也很中意她,但仍习气性地答复说:“容我再思考思考!”过后...

【FT12短网址】ES8 新特性一览

【FT12短网址】ES8 新特性一览

引言感觉这一两年FT12短网址的发展速度很快,首先最直接的体验就是短链接打开速度成倍的在提升,其次是新增了很多实用的新功能,比如:新增了二维码生成功能;新增了短链接访问统计功能;新增了短网址生成者的ip记录功能。这一切都应该归功于实用了ES...

苦逼SEO如何实现自身价值的提升?

苦逼SEO如何实现自身价值的提升?

昨天收到一个读者的留言,说目前SEO发展越来越难做,SEOer越来越难生存,于是笔者就与这位朋友聊了起来,了解到他目前在一家企业做短网址,发展不是很好,每天累死累活,老板却认为没好好做事,多少苦逼SEO心里是哑巴吃黄莲的感觉?之前咨询这样的...

繁忙人士的救星:相见恨晚的高效学习方法汇总

繁忙人士的救星:相见恨晚的高效学习方法汇总

FT12短网址的小编,每天不仅要花大量的时间在短网址站的维护中,还要抽出时间和精力在自己本职的工作上,因此,每天真正属于自己的可支配时间非常的短。短网址、工作、爱好等这几项如何平衡?如何高效的完成每天的工作?下面这篇文章也许对你有点帮助。一...

不打广告也能卖出去的产品,他们都有这些特征

不打广告也能卖出去的产品,他们都有这些特征

为何有的商品即使很少打广告,你仍然会见到许多人都在运用并且议论它,而有的商品,即使投入了许多的广告,却只能安静的陈设在货架上?比方:ZARA和星巴克就很少打广告,可它们的商品风靡整个世界;比较之下,一些投入许多广告的商品,比方一些保健品,销...

国际零售巨头亚马逊染指东南亚 最快本周登录新加坡

国际零售巨头亚马逊染指东南亚 最快本周登录新加坡

【FT12短网址资讯】7月26日音讯,据美国科技类博客Techcrunch报导,全球电商巨头亚马逊(Amazon)将推出新加坡站,以此先开进军东南亚商场的前奏。据悉,亚马逊最快将于本周正式登陆新加坡,并将在新加坡推出亚马逊Prime会员效劳...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。