nodejs 中使用 tpyescript

本贴最后更新于 2735 天前,其中的信息可能已经时过境迁

Node.js
https://nodejs.org
https://nodejs.org/en/download/

win: msi mac: pkg linux: tar.xz source code: tar.gz
Latest
https://nodejs.org/dist/v6.3.1/node-v6.3.1-x64.msi
https://nodejs.org/dist/v6.3.1/node-v6.3.1.pkg
https://nodejs.org/dist/v6.3.1/node-v6.3.1-linux-x64.tar.xz
https://nodejs.org/dist/v6.3.1/node-v6.3.1.tar.gz

v4.4.7 LTS
https://nodejs.org/dist/v4.4.7/node-v4.4.7-x64.msi
https://nodejs.org/dist/v4.4.7/node-v4.4.7.pkg
https://nodejs.org/dist/v4.4.7/node-v4.4.7-linux-x64.tar.xz
https://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz

Homebrew: sudo brew install node
Apt-get: sudo apt-get install nodejs npm

CNPM
在国内用来代替 npm 的工具
$ npm install -g cnpm --registry=https://registry.npm.taobao.org

TypeScript
https://github.com/Microsoft/TypeScript
http://www.typescriptlang.org
$ npm install -g typescript
$ tsc -v
$ tsc -w helloworld.js (按 Ctrl+C 退出)
在目录中初始化
$ tsc -init
$ tsc -w --newLine LF

typings(The TypeScript Definition Manager)
代替 tsd 的工具: https://github.com/typings/typings/blob/master/docs/tsd.md
1. tsd install react --save
You would now:
typings install dtreact --global --save
2. tsd query react
becomes:
typings search react
$ npm install typings --global
在当前目录(项目)中安装 angular 和 jquery 的 dt 文件
$ typings install dt
angular --global --save
$ typings search --name jquery
$ typings install dt~jquery --global --save

TSLint
$ npm install -g tslint typescript
$ tslint --init

ESLint
$ npm install -g eslint
配置
$ npm init
...
name: (workdir)
version: (1.0.0)
description:
entry point: (main.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to path/to/package.json:
...
$ eslint --init
? How would you like to configure ESLint? Answer questions about your style
? Are you using ECMAScript 6 features? Yes
? Are you using ES6 modules? Yes
? Where will your code run? Node
? Do you use JSX? Yes
? Do you use React Yes
? What style of indentation do you use? Spaces
? What quotes do you use for strings? Double
? What line endings do you use? Unix
? Do you require semicolons? Yes
? What format do you want your config file to be in? JSON
...

简述如下:
$ mkdir ProjectName # 创建项目目录,然后下面是初始化
$ npm init
$ eslint --init
$ tsc -init
$ tslint --init
$ code . # 用 VSCode(建议安装 ESLint、TSLint 扩展)打开

mac 系统可以将 code 手动 ln 到/usr/local/bin 下:

$ ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /usr/local/bin/code


Bower
$ npm install -g bower

安装 react
先进入工作目录,然后输入下面命令会下载 react 到 bower_components 目录
$ bower install react
$ touch index.html
$ code .

VSCode 需要安装的扩展和组件
扩展:Reactjs snippets 或者 React Standard Style code snippets,代码片段
扩展:Path Intellisense,能方便在代码中提供路径智能提示
扩展:HTML Snippets,提供 html 支持
扩展:React Native Tools,调试 Android/iOS 的 React 原生项目,提供智能提示,需要安装 react-native-cli
$ npm install -g react-native-cli

BABEL
http://babeljs.io
https://github.com/babel/babel
CLi
http://babeljs.io/docs/setup/#installation
$ npm install --save-dev babel-cli
ES2015
$ npm install --save-dev babel-preset-es2015
Polyfill
$ npm install --save-dev babel-polyfill
JSX and Flow
$ npm install --save-dev babel-preset-react

  • TypeScript
    22 引用 • 19 回帖 • 2 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    138 引用 • 268 回帖 • 151 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 570 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 11 关注
  • 笔记

    好记性不如烂笔头。

    306 引用 • 782 回帖
  • sts
    2 引用 • 2 回帖 • 163 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    285 引用 • 4482 回帖 • 658 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    207 引用 • 358 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 41 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    713 引用 • 1174 回帖 • 121 关注
  • 分享

    有什么新发现就分享给大家吧!

    244 引用 • 1762 回帖
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    328 引用 • 1705 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖
  • CodeMirror
    1 引用 • 2 回帖 • 127 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 4 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 147 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 455 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 398 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    21 引用 • 58 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 45 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 617 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    215 引用 • 463 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 31 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    10 引用 • 87 回帖 • 1 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖