[译]参照TypeScript学习Rust-1 · 前端在线​regx.vip

对于前端,笔者比较认可Rust作为前端开发技术栈投资的,本文系列翻译旨在分享、学习Rust这门语言。

Rust常常被认为是TypeScript的继任者,我们可以通过《Rust Book》来加深学习Rust的印象。

先决条件

Rust和TypeScript项目都是依赖GIT的版本控制。

安装Rust

Rust是通过全局二进制指令安装的,安装完成之后会有rustccargo

安装TypeScript

TypeScript是依赖JavaScript的Node.js运行时环境,首先需要安装Node.js。安装完成之后就会有npm指令,借助npm来安装TypeScript。

创建Rust项目

Rust是通过cargo指令来创建一个项目的:

cargo new r00_hello_world

这个项目同时会初始化一个包含.gitignore文件的git仓库。该仓库会包含一个示例的源文件src/main.rs:

fn main() {println!("Hello, world!");
}

创建TypeScript项目

TypeScript项目首次创建可以通过npm指令:

mkdir t00_hello_world
cd t00_hello_world
npm init --yes

然后通过如下指令来初始化git仓库:

git init

然后创建一个.gitignore文件:

node_modules/
dist/

然后再来安装TypeScript依赖:

npm install -D typescript

接着可以创建TypeScript的配置文件tsconfig.json

{"compileOnSave": true,"compilerOptions": {"target": "ES2017","module": "commonjs","moduleResolution": "node","experimentalDecorators": true,"emitDecoratorMetadata": true,"inlineSourceMap":true,"noImplicitThis": true,"noUnusedLocals": true,"stripInternal": true,"pretty": true,"declaration": true,"outDir": "dist","lib": ["es2017", "dom"],"jsx": "react","sourceMap": false},"exclude": ["app/public","app/views","dist","node_modules","test","logs"]
}

更新下package.json里的script,添加start & build:

{"name": "t00_hello_world","version": "1.0.0","description": "","main": "dist/index.js","scripts": {"start": "node dist/index.js","build": "tsc","test": "echo "Error: no test specified" && exit 1"},"keywords": [],"author": "","license": "ISC","devDependencies": {"typescript": "^3.6.4"}
}

最后我们创建一个源文件src/index.ts

console.log('Hello World!');

构建Rust

项目开发阶段,我们用如下指令来构建Rust项目:

cargo build

该指令执行后会生成系统可执行文件target/debug/r00_hello_world. 如果是为了发布或者优化,我们可以用如下指令:

cargo build --release

该指令执行后会生成系统可执行文件target/release/r00_hello_world.

TypeScript构建

我们可以通过如下指令来构建TypeScript项目:

npm run build

执行该命令之后会生成js文件dist/index.js.

执行Rust

我们可以简单的通过运行可执行文件:

./target/debug/r00_hello_world

也或者同时构建并运行:

cargo run

执行TypeScript

我们可以通过npm script执行转换后的js文件

npm start

或者我们直接运行js文件:

node dist/index.js

无论哪种情况,我们都将在JavaScript运行时之上执行项目。

RUST直接升钢指令_[译]参照TypeScript学习Rust-part-1相关推荐

  1. rust语言与go语言_用户调查显示,Rust语言很难学习和使用

    rust语言与go语言 由Rust语言团队进行的对Rust用户社区的新调查显示,人们对该语言及其使用的兴趣与日俱增,但是,用户对该项目吹捧的一些Rust功能却感到失望,这是该项目的优势. 该调查吸引了 ...

  2. rust怎么拆除墙壁指令_腐蚀有什么指令?基本指令及服务器指令汇总

    腐蚀有什么指令?基本指令及服务器指令汇总 2018-02-01 09:14:38来源:游戏下载编辑:野狐禅评论(0) ​RUST++ MOD (以下在聊天框内输入) 基本命令 /share playe ...

  3. rust怎么拆除墙壁指令_腐蚀RUST指令大全

    腐蚀这款游戏里面玩家可以通过不同的指令实现游戏功能的变换,可能很多服务器玩家不太了解如何增加管理员或者提出某个恶劣玩家,下面是详细指令解析,有需要可以参考一下. 指令大全 基本指令 (以下在聊天框内输 ...

  4. rust怎么拆除墙壁指令_腐蚀RUST基本指令及服务器指令大全

    基本指令 (以下在聊天框内输入) /msg [message a specified player(私信一个玩家)] /me [Puts your text into a purple color(你 ...

  5. rust快速升级墙指令_外服一键升级指令是啥呀

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 拆除自己建筑的建筑:/remove tp到别人旁边:/tpr 游戏名字 接受别人tp:/tpa 创造战队:/clan create 战队名字 战队简介(这 ...

  6. rust怎么拆除墙壁指令_人类跌落梦境:城堡怎么过 不少玩家卡在了第六关城堡地图这里...

    人类跌落梦境城堡怎么过?随着人类一败涂地手游上线,不少玩家卡在了第六关城堡地图这里.城堡怎么抓灯笼,这个图里风车要怎么用呢?这里就为大家带来人类跌落梦境第六关城堡攻略图解. 人类跌落梦境城堡怎么过人类 ...

  7. rust怎么关阳光指令_我家也有庭院多好,伸缩阳光房装上,能休闲能当车库,还不算违建...

    阅读本文前,请您先点击上面蓝色字体,再点关 注这样您就可以继续免费收到文章了,每天都有分享,完全是"免费订阅",请放心关注注:本文转载自网络,如有侵权,请在后台留言联系我们进行删除 ...

  8. rust怎么拆除墙壁指令_拆除墙体前准备:区分承重墙与非承重墙,拆错影响整栋楼房...

    新房下来后,立马开工?设计师不建议这样仓促,毕竟一平方过万的房价,装修怎么也要提前考虑做全面的了解,不然后期空间设计不合理,使用材料不环保再次返工就前功尽弃了. 房子下来后或者下来之前(对自家户型有所 ...

  9. 通过电脑给继电器发送指令_三菱FX PLC学习之通信指令(上)

    点击上方蓝字关注我们 [免费抽奖]电气人不能错过的PLC书籍与软件! 通信指令本身不难,难的是对通信的理解.在学习PLC通信指令之前,我曾尝试去看通信相关的课程,然后告诉自己:算了,不必勉强自己,学不 ...

最新文章

  1. Centos升级python
  2. 没想到这家老牌AI公司越来越不“纯粹”了
  3. ZJOI2019赛季回顾
  4. 前端学习(1467):过滤器
  5. 网站开启 IPv6 访问,测试是否支持 IPV6
  6. 大工13秋《计算机文化基础》在线测试1,大工13秋《计算机文化基础》辅导资料六...
  7. Python知识点-py2和py3编码
  8. Nginx+Tomcat搭建高性能负载均衡集群
  9. linux上的甘特图软件,甘特图软件这么好用,可惜很多人不知道
  10. OneNote2016电脑端修改笔记本名称网页端不同步解决办法
  11. 【企业管理】价值评价的导向和原则
  12. 05、Python中转义字符与字符串
  13. Oracle数据库如何彻底卸载
  14. KDD2020的一篇序列推荐的论文《Geography-Aware Sequential Location Recommendation》
  15. ArcGIS教程:面积制表
  16. 2014 ACM/ICPC 北京赛区网络赛解题报告汇总
  17. PPT如何导出高清eps?
  18. 判断一个数是否为质数/素数——从普通判断算法到高效判断算法思路
  19. 内存卡里面的目录变0字节的修复办法
  20. 微信小程序 border设置单边框失效解决办法

热门文章

  1. Struts2 格式化输出时间
  2. ubuntu 16.04下安装oracle jdk 1.7
  3. Java数据结构——解析算术表达式
  4. 程序升级触发阿里云自身安全机制导致的莫名问题
  5. Python 国际化
  6. linux ext4 文件大小,[svc]为何linux ext4文件系统目录默认大小是4k?
  7. ado.net图片点击刷新_华为官方解答为何微信保存的图片不在图库显示
  8. pe常用软件_验证U盘PE系统,有几款纯净好用
  9. android 返回字符串,android – 如何从异步回调使用Retrofit返回String或JSONObject?
  10. 长sql和短sql加java区别_Mybatis下动态sql中##和$$的区别讲解