CoffeeScript系列教程(二)—安装和使用
CoffeeScript是一门编译到JavaScript的语言,肯定需要一个编译器的。实际上CoffeeScript编译器也是用CoffeeScript编写的(自己编译自己?感觉好屌的样子!)。你可以通过npm命令安装:
npm install -g coffee-script
npm是啥?额,如果你对nodejs一点都不了解的话,建议你搜索下,作为一个前端开发,nodejs都不知道的话,那就out!后端开发不知道nodejs那你就不是一个好后端啊。顺便提一句,学习就是不断接触陌生内容的过程,要善于利用搜索引擎!安装后就可以编写我们的第一个程序了!想想好激动啊
使用
新建一个demo.coffee,CoffeeScript的文件都是以.coffee结尾。
在控制台打印Hello World
那么我们怎么把这句话编译到JavaScript呢?打开控制台,进入到demo.coffee的目录,输入如下命令
coffee -c demo.coffee
这时就会在demo.coffee的同目录下生成demo.js,内容如下
// Generated by CoffeeScript 1.9.0
(function() {console.log('Hello World!');}).call(this);
执行:
node demo
大家就可以在命令行看到Hello World!
编译后内容被一个匿名函数包裹了,这里可以避免全局变量的泛滥(多么友好啊)。编译的相关命令很多,如下(选自官网)
-c 编译一个 .coffee 脚本到一个同名的 .js 文件-m 随 JavaScript 文件一起生成 source maps. 并且在 JavaScript 里加上sourceMappingURL指令-i 启动一个交互式的 CoffeeScript 会话用来尝试一些代码片段. 等同于执行 coffee 而不加参数-o 将所有编译后的 JavaScript 文件写到指定文件夹. 与 --compile 或 --watch 搭配使用-j 编译之前, 按参数传入顺序连接所有脚本到一起, 编译后写到指定的文件. 对于编译大型项目有用-w 监视文件改变, 任何文件更新时重新执行命令-p 直接打印到 stdout 而不是写到一个文件-s 将CoffeeScript 传递到 STDIN 后从STDOUT 获取 JavaScript. 对其他语言写的进程有好处. 比如:cat src/cake.coffee | coffee -sc-l 将代码作为 Literate CoffeeScript 解析. 只会在从 stdio 直接传入代码或者处理某些没有后缀的文件名需要写明这点-e 直接从命令行编译和打印一小段 CoffeeScript. 比如:coffee -e "console.log num for num in [10..1]"-b 编译到 JavaScript 时去掉顶层函数的包裹-t 不对 CoffeeScript 进行解析, 仅仅进行 lex, 打印出 token stream: [IDENTIFIER square][ASSIGN =] [PARAM_START (] ...-n 不对 CoffeeScript 进行编译, 仅仅 lex 和解析, 打印 parse tree:ExpressionsAssignValue "square"Code "x"Op *Value "x"Value "x"
IDE
工欲善其事,必先利其器
一个好的开发工具可以帮我们节省大量的时间,如果我们采用如上的方式编译,得活活把人累死,每写完一个小功能得编译一次,出错了还得编译。向大家推荐一款前端开发利器Webstorm,想了解更多,赶紧百度去。
Webstorm有个file watchers的功能,当你coffee文件有改动,自动帮你编译成js文件。
如何添加FILE WATCHERS
打开设置页面
点击右上角绿色的添加按钮,选择coffeescript
Arguments参数里面就是编译的参数,我们改成如下内容,然后一路确定:
–bare –compile $FileName$
随便改动demo.coffee,demo.js会相应变动。而且编译后的JavaScript就不会被匿名函数的包裹(之前我们设置的Arguments)。Wbestorm的功能不仅如此,真是谁用谁知道啊!
CoffeeScript系列教程(二)—安装和使用相关推荐
- PVE系列教程(二)、安装网心云x86专业版
为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 PVE系列教程(二).安装网心云x86专业版 一.上传x86镜像 把x86镜像上传到local下的ISO镜像中. 二.配置虚拟机 点击创建虚拟机 ...
- WSL嵌入式开发系列教程 4 —— 安装VS code
文章目录 前言 一.安装VS Code 二.安装远程开发扩展包 三.安装相关插件 四.VS Code 新建工程 五.VS Code 终端执行 Linux 命令 总结 前言 前面我们已经搭建好了交叉编译 ...
- 以太坊构建DApps系列教程(二):构建TNS代币
在本系列关于使用以太坊构建DApps教程的第1部分中,我们引导大家做了两个版本的本地区块链进行开发:一个Ganache版本和一个完整的私有PoA版本. 在这一部分中,我们将深入研究并构建我们的TNS代 ...
- 汇川技术小型PLC梯形图编程系列教程(二):AutoShop软件使用技巧介绍
原文链接:汇川技术小型PLC梯形图编程系列教程(二):AutoShop软件使用技巧介绍 俗话说的好,磨刀不误砍柴工.这里的刀指的是准备工作:手册+熟练使用软件(掌握一些技巧).所以本篇为大家简单介绍一 ...
- php调用kettle,kettle系列教程二
kettle系列教程二 1.Hello World 示例 通过这个例子,介绍kettle的一些基础知识及应用: n 使用Spoon工具 n 转换的创建 n 步骤及连线 n 预定义变量 n 在Spoon ...
- OMV搭建系列教程[2] – 安装omv-extras
OMV搭建系列教程[2] – 安装omv-extras OMV搭建系列教程[0] – 最小化安装Debian9 OMV搭建系列教程[1] – Debian9安装OpenMediaVault OMV搭建 ...
- Exchange server 2010系列教程之一 安装Exchange 2010准备条件
Exchange server 2010系列教程之一 安装Exchange 2010准备条件 最近看了不少论坛和资料,许多人安装Exchange 2010都有问题啊,说实话,我自己开始也出现不少问题, ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
- C#微信公众号开发系列教程二(新手接入指南)
此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽. 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教 ...
- OMV搭建系列教程[6] – 安装AriaNG Web前端
OMV搭建系列教程[0] – 最小化安装Debian9 OMV搭建系列教程[1] – Debian9安装OpenMediaVault OMV搭建系列教程[2] – 安装omv-extras OMV搭建 ...
最新文章
- 华为机考HJ17坐标移动
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个...
- faster rcnn源码解读(六)之minibatch
- 解决mysql操作1045错误,1153错误和1130错误
- mysql时间格式函数_MySQL时间格式函数
- keepalive 原理讲解
- promise设置多个接口并行调用
- 设计模式学习笔记——建造者(Builder)模式
- win7+opencv3.0.0+vs2010 安装及配置
- openwrt uci
- 2. 虚拟机常用操作
- 蓝桥杯笔记:DFS(深度优先搜索)解决问题
- Switch基本知识
- Linux系统(X64)7 安装Oracle11g完整安装图文教程另附基本操作
- 网友发给我一个钓鱼网站,我用 Python 渗透了该网站所有信息
- 十分钟利用windows7漏洞破解开机密码
- python机械臂机器人_SCARA机器人 机械手臂 写字机 DIY、教学、视觉识别、遥控机器人...
- iOS 性能优化(包体积优化、内存优化、流畅性优化、启动优化、耗电优化)
- python、matplotlib画股票分时图、时间序列图的时候如何跳过没有数据的区域
- 2022 MegCup | 小模型盲降噪怎么比?资深炼丹师给你赛前指导!