前端构建和模块化工具-coolie

【前言】

如果你之前用过前端模块化工具:seajs,requirejs,

用过前端构建工具grunt、gulp,

并且感到了一些不方便和痛苦,那么你可以试试coolie

【coolie】

本文不是一篇介绍coolie的文章,而是偏向新手上手coolie的常见问题解答,

coolie相关:

社区文章:http://frontenddev.org/column/introduce-coolie/

git-book:http://coolie.ydr.me/index.html

【知识储备】

如果你没有用过前端模块化,没有用过前端构建,没有听过nodejs,

还请先百度google之,当初步了解以上内容,使用过一段时间在看这篇文章,

在使用coolie,你会发现coolie的优点所在。

【声明】

关于js模块化,前端构建的内容,使用的时间比较久,版本比较旧,

只是凭记忆说说,不是很准确,可能现在这些工具已经很完善了。

【可以做什么-模块化】

老生长谈的问题,请自行百度之,

简单的来说就是管理各个js,模块化的使用js,类似java中的import+jar,

可以看看这篇文章:http://uikoo9.com/blog/detail/java-vs-nodejs-reactjs-angularjs-requirejs-seajs

【可以做什么-构建】

如果你经常修改js,css,恰巧你们服务端会做缓存,

那你应该知道类似这样有多痛苦:jquery.js?v=1。。。

上两张图,对比下构建前的项目,和构建后的项目,请自行意会:

这张图是正常的项目,其中html中如果要引入js,css,解决服务端缓存的办法就是?v=xxx,

每次修改都得修改版本号,修改工具类js还得批量替换版本号,很是痛苦。

这张是构建后的项目,你会发现几点:

所有静态资源文件名编码化,

而且如果有修改,构建后这个编码的名称会自动修改,

结果就是html中的js,css照样写,对付服务端缓存,直接构建,

因为每次都不同。

【学习coolie】

请阅读顶部两个coolie链接内容,学习后开始自己上手,你大概会碰上下面这些问题。

【准备工作】

1.安装nodejs--百度去

2.安装coolie

执行npm install -g coolie

3.下载coolie例子

https://github.com/cloudcome/coolie-example/

【问题1-构建】

官网只说了coolie build webroot-dev这个命令,

但是在哪里执行,在哪个目录下执行,?

我们想看看例子的文件结构:

其实这个build命令就是去找coolie.json配置文件,

所以如果你cd到webroot-dev下的话,可以直接coolie build构建,

如果你在webroot-dev父一级目录,可以coolie build webroot-dev,

如果你在webroot-dev同级的另一个文件夹test内,你可以coolie build ../webroot-dev,

也就是说coolie build path,这个path中要有coolie.json

【问题2-文件结构和配置文件】

不同于其他的一些构建工具,coolie中,只要你遵循默认的文件结构,那coolie.json你基本是不需要修改的,

默认的文件结构如上图,

简单的说就是,按默认结构去开发,然后忘记coolie.json

【问题3-页面约定】

上面谈到文件结构约定,是为了构建方便,

那页面约定就是为了,构建可以正常工作和模块化正常工作,

css约定:

将要构建的css这样写:

    <!--coolie-->
    <link rel="stylesheet" href="/static/css/common.css">
    <link rel="stylesheet" href="/static/css/index.css">
    <!--/coolie-->

写到两段注释中间,不想构建的css则放到外头。

js约定:

<!-- mine -->
<script coolie src="/static/js/coolie.min.js" data-config="./coolie-config.js" data-main="./index.js"></script>

用过模块化工具的人应该好理解,只是coolie的路径有点绕,看看官网说明吧,

或者按约定文件结构照猫画虎吧。

【问题4-不想构建】

如果碰到不想构建的静态文件,请在coolie.json中配置,

coolie.json也就是之前说的需要忘记的东西,但是这个配置在我看来是唯一的用处,

【问题5-http以及绝对路径】

如果你习惯用直接打开html的方式看页面,那会发现很多问题,

来吧跑起来看吧,用http看,然后页面所有静态文件请写绝对路径,

例如:/static/img/xx.png

也就是你的http访问加上上面的路径可以正确看到图片。

如何http?java,php,。net都有自己的方法,

前端也有,

请npm install -g sts

cd到webroot-dev

sts 8082即可

【开始happy】

1.按照文件目录约定创建项目

2.按照页面约定开始写页面

记住上面的css和js约定即可,

另外如果习惯使用jquery,bootstrap等工具框架,可以直接引入到页面。(赞~~)

同时在js中也可以直接使用$,再赞一个~~

3.查看开发效果

写完后,用上述sts 8082查看效果

4.构建

coolie build path

5.查看构建效果

cd到webroot-pro后sts 8083查看效果。

【为啥happy】

1.压缩&合并

压缩静态文件,减少每次请求文件大小

合并静态文件,减少请求次数

2.js模块化

从一堆js苦海中脱离出来,该干什么的js干什么,而且可以很方便的找到它

3.构建

脱离服务端缓存和?v=xx的苦海

【更多】

更多文章,请访问:http://uikoo9.com

时间: 2024-10-26 16:06:29

前端构建和模块化工具-coolie的相关文章

“流式”前端构建工具——gulp.js 简介

Grunt 一直是前端领域构建工具(任务运行器或许更准确一些,因为前端构建只是此类工具的一部分用途)的王者,然而它也不是毫无缺陷的,近期风头正劲的 gulp.js 隐隐有取而代之的态势.那么,究竟是什么使得 gulp.js 备受关注呢? Grunt 之殇 gulp.js 的作者 Eric Schoffstall 在他介绍 gulp.js 的 presentation 中总结了 Grunt 的几点不足之处: 插件很难遵守单一责任原则.因为 Grunt 的 API 设计缺憾,使得许多插件不得不负责一

前端模块化工具-webpack

详解前端模块化工具-webpack webpack是一个module bundler,抛开博大精深的汉字问题,我们暂且管他叫'模块管理工具'.随着js能做的事情越来越多,浏览器.服务器,js似乎无处不在,这时,使日渐增多的js代码变得合理有序就显得尤为必要,也应运而生了很多模块化工具.从服务器端到浏览器端,从原生的没有模块系统的`<script>`到基于Commonjs和AMD规范的实现到ES6 modules.为了模块化和更好的模块化,我们总是走在探索的路上. 但是这些实现模块化的方法或多或

(转载)前端构建工具gulp使用

前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://github.com/lisposter/gulp-docs-zh-cn Gulp插件网 http://gulpjs.com/plugins/ Awesome Gulp https://github.com/alferov/awesome-gulp StuQ-Gulp实战和原

【webpack学习笔记(一)】流行的前端模块化工具webpack初探

从开发文件到生产文件   有一天我突然意识到一个问题,在使用react框架搭建应用时,我使用到了sass/less,JSX模版以及ES6的语法在编辑器下进行开发,使用这些写法是可以提高开发的效率.可是浏览器它本身是并不能够"理解"这些语法的呀.就像下面这张图: 在开发代码文件 --> 生产代码文件的转换过程中,我们到底需要做些什么呢?没错,这一切都和webpack(或gulp)有关: 转一张webpack官网的图,webpack能把less/sass文件,json文件,乃至css

前端开发自动化工作流工具:JavaScript自动化构建工具grunt、gulp、webpack介绍

前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为庞大和复杂,代码维护.打包.发布等流程也变得极为繁琐,同时浪费的时间和精力也越来越多,当然人为的错误也随着流程的增加而增加了更多的出错率.致使每一个团队都希望有一种工具,能帮助整个团队在开发中能精简流程.提高效率.减少错误率.随之讨论自动化部署也越来越多,并且国内很多大型团队也都有自己成熟的自动化部

前端构建工具之争——Webpack vs Gulp 谁会被拍死在沙滩上

.table tr>td:nth-child(1){width: 2em !important;padding-left: .6rem !important;padding-right: .6rem !important;} 本文组织结构 理想的前端开发流程 Gulp 为何物 Webpack 又是从哪冒出来的 结论 文章有点长,总共 1800 字,阅读需要 18 分钟.哈哈,没耐心的直接戳我到高潮部分. 理想的前端开发流程 在说构建工具之前得先说说咱期望的前端开发流程是怎样的? 写业务逻辑代码(

webpack前端构建工具学习总结(四)之自动化生成项目中的html页面

接续上文:webpack前端构建工具学习总结(三)之webpack.config.js配置文件 1.安装html-webpack-plugin插件,输入命令:npm install html-webpack-plugin --save-dev 2.在webpack.config.js文件中,引入html-webpack-plugin插件 3.输入命令:npm run webpack,编译打包 可以看到在dist/js目录下新生成了一个index.html文件,并且引入了新编译生成的两个js,但此

前端构建工具gulpjs的使用介绍及技巧

gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速度更快.如果你还没有使用过前端构建工具,或者觉得gruntjs太难用的话,那就尝试一下gulp吧. 本文导航: gulp的安装 开始使用gulp gulp的API介绍 一些常用的gulp插件 1.gulp的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安装gulp: npm inst

记学习前端构建工具gulp的过程,略心酸

初学前端的时候就听过友人说,前端不好学,很多软件都是要自己下载安装插件的,当时是很不以为然的,不就是下载几个软件外加安装插件吗?!怎么会很难呢!后面才发现自己真的错了. 今天刚好准备好好看看前端构建工具gulp的使用,于是乎就各种上网查资料.刚开始的时候有点摸不着头脑,这个东西不是一个软件,拿来就用,需要自己配置环境,自己根据需求安装package,完全是自己DIY的一个工具. 下面就把整个安装过程,记录下来,方便以后查看吧. 先明确几个概念:1.gulp是基于node.js环境下工作的:2.命