从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引擎 ...
 
随机推荐
- laravel asset()函数
			
asset() 使用当前请求的scheme(HTTP或HTTPS)为前端资源生成一个URL: $url = asset('img/photo.jpg'); laravel自带了laravel-mix, ...
 - log4js的简单配置
			
js记录日志工具log4js,参数请参考官网文档https://log4js-node.github.io/log4js-node/index.html const log4js = require( ...
 - Python--day67--include包含其他的url和反向解析URL
			
1,include包含其他的url: 2,反向解析URL:
 - 关于Spring JavaWeb工程中的ContextRefreshedEvent事件
			
在应用启动时,通常想在此时预加载一些资源,全局使用. Spring会在操作应用上下文时,使用ApplicationEventPublisher触发相关ApplicationContextEvent,我 ...
 - vuex 快速上手,具体使用方法总结(含使用例子)
			
网上有关vuex的文章很多,但有些比较复杂,这篇文章能让你快速使用vuex: vuex 用处:管理全局状态(类似全局变量,每个组件都能访问到) vuex 用法: //下面是一个js文件,用最简单最全的 ...
 - JS 逻辑运算符 ||、 &&, 位运算符 |、&
			
1.JS中的||符号: 运算方法: 只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值. 只要“||”前面为true,不管“||”后面是true还是fals ...
 - 为什么Redis是单线程,性能还如此高?
			
一. Redis为什么是单线程 注意:redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程. 因为CPU不是Redis的瓶颈.Redis的瓶颈最有可能 ...
 - 2019-8-31-C#-await-高级用法
			
title author date CreateTime categories C# await 高级用法 lindexi 2019-08-31 16:55:58 +0800 2018-2-13 17 ...
 - ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统(6)
			
快过年了,公司事情忙,好几天没有继续写博客,今天开始写账户模块系统登录,账户管理以及登录日志, 首先新建登录日志数据表: USE [MVCSystem] GO /****** Object: Tabl ...
 - <Codeforce>1082A. Vasya and Book
			
题目描述: Vasya is reading a e-book. The file of the book consists of nn pages, numbered from 11 to nn. ...