从0开发3D引擎(三):搭建开发环境
本系列使用Reason语言,因此需要搭建它的开发环境。
上一篇博文
下一篇博文
搭建开发环境
建议使用VSCode编辑器来开发Reason,因为它的插件支持得最好。
具体搭建Reason开发环境的步骤如下:
1.安装Chrome浏览器
我们使用Chrome浏览器作为测试和运行环境。
2.安装yarn
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,使用方法跟npm类似。
详见npm和yarn的区别,我们该如何选择?
安装方法详见安装yarn(选择你的操作系统,默认为windows)
3.执行“yarn global add bs-platform”
这一步是为了安装Reason的相关工具,如格式化工具bsrefmt等
4.安装VSCode
5.安装VSCode->Extensions->reason-vscode插件
6.设置reason-vscode,显示函数的类型签名
在VSCode->“设置”中,搜索到reason的设置,选中 “Show the type for each top-level value in a codelens”。
或者在setting.json中,加上:
"reason_language_server.per_value_codelens": true
7.克隆Reason-Example项目:
git clone https://github.com/Wonder-Technology/Reason-Example.git
在src/目录下的Reason文件First.re,定义了一个用于测试的函数getFirst,该函数返回1:
let getFirst = () => 1;
1)执行"yarn install"
2)执行"yarn watch"
开个watch,这样在写Reason的时候,会自动编译为js。
我们看到,First.re编译后的js文件为lib/es6_global/src/First.js,它的模块化规范为es6 module。
3)执行"yarn start",在浏览器地址中输入 http://127.0.0.1:8080 , 运行index.html页面
我们在index.html中引入了First.js文件,打印了getFirst函数的输出结果。所以打开控制台,可以看到输出“1”。
参考资料
从0开发3D引擎(三):搭建开发环境的更多相关文章
- 从0开发3D引擎(四):搭建测试环境
目录 上一篇博文 了解自动化测试 单元测试 集成测试 端对端测试 通过打印日志来调试 了解运行测试 断点调试 通过Spector.js测试WebGL 通过log调试Shader 移动端测试 了解性能测 ...
- 从0开发3D引擎(八):准备“搭建引擎雏形”
大家好,现在开始本系列的第三部分,按照以下几个步骤来搭建引擎雏形: 1.分析引擎的需求 2.实现最小的3D程序 3.从中提炼引擎原型 4.一步一步地对引擎进行改进,使其具备良好的架构 5.实现与架构相 ...
- 用函数式编程,从0开发3D引擎和编辑器(三):初步需求分析
大家好,本文介绍了Wonder的高层需求和本系列对应的具体功能点. 确定Wonder高层需求 业务目标 Wonder是web端3D开发的解决方案,包括引擎.编辑器,致力于打造开放.分享.互助的生态. ...
- 从0开发3D引擎(十二):使用领域驱动设计,从最小3D程序中提炼引擎(第三部分)
目录 上一篇博文 继续实现 实现"DirectorJsAPI.init" 实现"保存WebGL上下文"限界上下文 实现"初始化所有Shader&quo ...
- 用函数式编程,从0开发3D引擎和编辑器(一)
介绍 大家好,欢迎你踏上3D编程之旅- 本系列的素材来自我们的产品:Wonder-WebGL 3D引擎和编辑器 的整个开发过程,探讨了在从0开始构建3D引擎和编辑器的过程中,每一个重要的功能点.设计方 ...
- 用函数式编程,从0开发3D引擎和编辑器(二):函数式编程准备
大家好,本文介绍了本系列涉及到的函数式编程的主要知识点,为正式开发做好了准备. 函数式编程的优点 1.粒度小 相比面向对象编程以类为单位,函数式编程以函数为单位,粒度更小. 正所谓: 我只想要一个香蕉 ...
- 从0开发3D引擎(一):开篇
介绍 大家好,本系列带你踏上Web 3D编程之旅- 本系列是实战类型,从0开始带领读者写出"良好架构.良好扩展性.最小功能集合(MVP)" 的3D引擎. 本系列的素材来自我们的产品 ...
- 从0开发3D引擎(五):函数式编程及其在引擎中的应用
目录 上一篇博文 函数式编程的优点与缺点 优点 缺点 为什么使用Reason语言 函数式编程学习资料 引擎中相关的函数式编程知识点 数据 不可变数据 可变数据 函数 纯函数 高阶函数 柯西化 参考资料 ...
- 从0开发3D引擎(七):学习Reason语言
目录 上一篇博文 介绍Reason Reason的优势 如何学习Reason? 介绍Reason的部分知识点 大家好,本文介绍Reason语言以及学习Reason的方法. 上一篇博文 从0开发3D引擎 ...
随机推荐
- python基础之逻辑题(1)
python基础之逻辑题(1) 1.用一行代码实现数值交换? 2.求结果--fromkeys? 3.1,2,3,4,5能组成多少个互不相同且无重复的三位数? 4.有两个字符串列表a和b,每个字符串是逗 ...
- day7_python之面向对象item系列(__getitem__,__setitem__,__delitem__)
class Foo: def __getitem__(self, item): print('=====>get') return self.__dict__[item] def __setit ...
- @noi.ac - 506@ 强连通分量
目录 @description@ @solution@ @accepted code@ @details@ @description@ 有一天你学了一个叫能求出有向图中所有的强连通分量的算法,你决定将 ...
- 深入python
while循环知识: while是关键字 格式我们要怎么写:; while 条件 : 缩进 循环(代码块) 这里面有个死循环######条件如果一直为真,就形成了一个环,就成为了死循环 那我们如 ...
- vue tab栏缓存解决跳转页面后返回的状态保持
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...
- torch.optim优化算法理解之optim.Adam()
torch.optim是一个实现了多种优化算法的包,大多数通用的方法都已支持,提供了丰富的接口调用,未来更多精炼的优化算法也将整合进来. 为了使用torch.optim,需先构造一个优化器对象Opti ...
- xUtils框架的介绍(二)
xUtils中有四大组件可以供我们使用,分别是ViewUtils.HttpUtils.BitmapUtils以及DbUtils.如果你没能先读一下我的上一篇文章,那么请你移步过去先整体了解一下,再回过 ...
- 洛谷P2258 子矩阵 题解 状态压缩/枚举/动态规划
作者:zifeiy 标签:状态压缩.枚举.动态规划 题目链接:https://www.luogu.org/problem/P2258 这道题目状态压缩是肯定的,我们需要用二进制来枚举状态. 江湖上有一 ...
- H3C CHAP验证配置示例二
- PHP redis安装扩展
命令: 查看php版本:PHP -v 查看php安装的扩展:PHP -m php扩展开发包(包括phpize,php -config):yum install php-devel which phpi ...