目录

C蛮的全栈之路-序章 技术栈选择与全栈工程师
C蛮的全栈之路-node篇(一) 环境布置
C蛮的全栈之路-node篇(二) 实战一:自动发博客

---------------- 我是分割线 --------------

武器买到了,第一步就是拿在手里掂量一下。

node.js 可以去 https://nodejs.org/ 下载,或者先安装npm(npm nrm nvm人称3m),然后用npm安装node。

IDE可以选择WebStorm。去 http://www.jetbrains.com/webstorm/ 下载。

IDE可以选择VSCode。去 https://code.visualstudio.com/download 下载。(个人推荐)

---------------- TypeScript or not--------------

为什么提到了TypeScript?

前面提到过工程化。

当你的js文件数增加,行数也在增加,参与人数也在增加时,工程渐渐变得不可维护。

所谓“动态类型一时爽,代码重构火葬场”,古人诚不我欺。

在其他技术栈的同学嘲笑js系不能做大工程时,我们要怎么办呢?

一种是守着ES的生态,配上Babel, ESLint, Flow这一类东西,标准。

另一种就是直接上车用TypeScript,配上TSLint等一系列东西,并且VSCode也配合的很优雅。有轻度的侵入性。

当你在维护一个已有项目时,Flow系的改造是平滑的。当做一个新项目时,两种方案都可以考量。最终这个选择取决于团队的构成。

---------------- TypeScript的场景--------------

npm install typescript -g

npm install tsd -g

npm install tslint -g

tsd install node

---------------- 非TypeScript的场景------------

npm i eslint -g

npm i babel -g

---------------- WebStorm --------------

WebStorm安装后,File->Setting->Node.js and NPM 里,把Code Assistance给Enable掉,这样就有智能感知了。

此IDE可以直接创建Express工程。node工程有智能感知,也能直接调试,算是比较方便的。

细节不再赘述。

---------------- VSCode --------------

在工程目录 tsc --init

生成了一个tsconfig.json文件:

{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": false,
"outDir": "built",
"rootDir": ".",
"sourceMap": true,
"watch" : true
},
"exclude": [
"node_modules"
]
}

加入watch可以帮助你CompileOnSave。

然后在VSCode里Open这个工程目录。按Ctrl+Shift+B,选Configure Task Runner。

{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"showOutput": "silent",
"args": ["-p", "."],
"problemMatcher": "$tsc"
}

这样 ts->js 的配置就ok了。

tslint --init 来生成 tslint.json

"quotemark": [
true,
"single"
],

别的都不动,把字符串改成默认单引号。这是Airbnb语法推荐的。

Files->Preferences->User Settings

{
"editor.tabSize": 2,
}

把tab改成2个空格。

---------------- 初战 --------------

把玩一下后,就赶紧找个敌人试试手吧。

一般来说,大家的第一个敌人不是地精就是狗头人……

-----  战斗前查怪物卡,是每一个立志砍翻一切敌人的家伙都会做的事情 -----

地精, 一级武者

小型类人生物 (地精类)
生命骰: 1d8+ ( hp)
先攻: +
速度: 30英尺 (6格)
防御等级: (+1体形, + 敏捷, + 皮甲, + 轻型盾牌),接触AC , 措手不及
基础攻击/擒抱: +/–
攻击: 钉头锤+ 近战 (1d6) 或标枪 +3远程 (1d4)
全回合攻击: 钉头锤+ 近战 (1d6) 或标枪 +3远程 (1d4)
占据/触及: 5英尺/ 英尺
特殊攻击: —
特殊能力: 黑暗视力60英尺
豁免: 强韧 +, 反射 +, 意志 –
属性: 力量11, 敏捷 , 体质 , 智力 , 感知 , 魅力
技能: 躲藏 +, 聍听+, 潜行+, 骑乘 +*,侦察 +
专长: 警觉
环境: 温带平原
组织: 小群(–), 一帮 (– 个个体加上相等数量的非战斗人员,加上每20个成年个体一个3级士官和一个4到6级领袖),战团 (– 个带着座狼), 或部落 (–400个个体加上相等数量的非战斗人员,加上每20个成年个体一个3级士官,1或2个4或5级副官,一个6~8级的领袖,~24只座狼加上2~4只凶暴狼)
挑战等级: /
宝藏: 标准
阵营: 通常是中立邪恶
进化: 根据人物职业 战斗:
地精是那么的弱小,以至于只能在被痛扁时发出"World! World!"的悲鸣。

地精

----------------------------------------------

每一个新武器上都染满了这种小家伙的血迹。

这次我们也毫不例外的选择它。

index.ts里如下砍出一记。

import * as http from 'http';

http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('Hello Goblin');
}).listen(8080, '127.0.0.1');

F5后出现launch.json。把"program"调整成index.ts。把"sourceMaps"调整成true。

Run起来看看

下一个断点看看。

C蛮看着一个照面就倒在血泊中的Goblin满意的点了点头。

C蛮的全栈之路-node篇(一) 环境布置的更多相关文章

  1. C蛮的全栈之路-node篇(二) 实战一:自动发博客

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...

  2. C蛮的全栈之路-序章 技术栈选择与全栈工程师

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...

  3. Python全栈之路-----基础篇

    Python诞生 Python是著名的”龟叔“Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python语法很多来自C,但又受到 ...

  4. Python全栈之路目录结构

    基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...

  5. 绝版Node--Sequlize搭建服务(Node全栈之路)

    绝版Node--Sequlize搭建服务(Node全栈之路) 参考资料:https://itbilu.com/nodejs/npm/VkYIaRPz-.html 准备环境:Mysql,Node 前沿: ...

  6. 绝版Node--Sequlize搭建服务(Node全栈之路 二)

    在Node全栈之路(一),也就是上篇文章中,我们讲到了sequlize的基本增删该查,这篇文章,我们在上篇文章的基础上继续探讨,讲一下关于sequlize创建的表之间的对应关系 参考资料:https: ...

  7. Python全栈之路----目录

    Module1 Python基本语法 Python全栈之路----编程基本情况介绍 Python全栈之路----常用数据类型--集合 Module2 数据类型.字符编码.文件操作 Python全栈之路 ...

  8. Python全栈之路----常用模块----hashlib加密模块

    加密算法介绍 HASH       Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列 ...

  9. python 全栈之路

    目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...

随机推荐

  1. ECC内存

    ECC内存,即应用了能够实现错误检查和纠正技术(ECC)的内存条.一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定.ECC是“Error Checking and Corre ...

  2. mapreduce引用第三方jar

    要想让mapreduce程序引用第三方jar文件, 可以采用如下方式: 通过命令行参数传递jar文件, 如-libjars等; 直接在conf中设置, 如conf.set(“tmpjars”,*.ja ...

  3. Google Map API 学习六

    今天其实收货很大的 1.new google.maps.Circle 就是如何在地图上标注一个圆 3.getAnimation 在这里是通过获取Marker是否存在动作,然后如果存在动作的话,就将动作 ...

  4. 转 @RenderBody()和@RenderSection()

    强大的Razor引擎 一.Razor基础简介 Razor采用了cshtml后缀的文件名,截图如下: A. 版面布局 从图上看到,新的视图引擎已经没有了Site.Master这种MasterPage了, ...

  5. Linux驱动的两种加载方式过程分析

    一.概念简述 在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载. 静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用.静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新 ...

  6. OpenFlow能解决私有云网络VLAN问题么

    本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...

  7. 详解集群内Session高可用的实现原理

    在这个互联网高度发达的时代,许多应用的用户动辄成百上千万,甚至上亿.为了支持海量用户的访问,应用服务器集群这种水平扩展的方式是最常用的.这种情形下,就会涉及到许多单机环境下完全不需要考虑的问题,这其中 ...

  8. 使用Codis搭建redis集群服务

    转(http://www.jianshu.com/p/f8e968e57863) 一. 应用场景 redis 作为数据结构存储引擎,有着很多优点 高性能单机引擎可以达到5-10W qps 数据结构全面 ...

  9. PDF模板报表导出(Java+Acrobat+itext)

    1. 首先要安装Adobe Acrobat,装好之后用Acrobat从一个word,excel或者pdf中转换一个pdf模板,我做的模板很简单,直接写一个简单的word再生成一个pdf表单,之后编辑文 ...

  10. 用户体验设置和UI设计的10个不同点

    在这个技术的世界,UX和UI这两个词条在差点儿全部公司都非常流行,不管大小,都在寻找招聘UX/UI设计师. 这两个缩写词条使得整个技术工业为之疯狂,由于它们是最先进的前沿技术. 那这两个词条实际上是什 ...