首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NodeJS起步两三事

主要是为了备忘,开始接触NodeJS有一段时间,断断续续,年纪也大了时间一长容易忘事情,汗。

安装Node

直接到官网下载LTS版本安装即可,没必要追新功能用最新版。安装Node基本没什么坑,记得加到PATH就好。

Windows双击安装,macOS推荐使用brew安装,完成后在命令行里测试一下。

后期如果没有啥breaking的API改动基本也不用升级。

必要的配置

NodeJS的包管理器 ,如果在墙内及有可能在使用过程中很不稳定,一般推荐使用国内的镜像源,目前最知名的也就是淘宝家的了。

https://npm.taobao.org/

.npmrc

你可以通过修改 来设置默认的包源:

cnpm

你也可以安装 来代替 :

之后的大部分 都可以直接用 代替(发布相关的除外):

nrm

其实我还推荐你了解另外一种切换源的方式 :

使用方法如下,超级简单:

使用 列出可以切换的源,然后 瞬间切换,爽!

proxy

镜像源毕竟是copy的,同步状态有可能你不甚满意,最近taobao的源可能会有以下错误:

作为一个资深码农你也许有一个本地代理(SS懂?)让你无障碍访问国际互联网,那么你可以这么做:

配置好 的代理后你又可以开心地玩耍了。

Node入门须知

三分钟入门NodeJS,如果你已经有其他语言的编程经验,是可以的。

NodeJS的核心可执行程序 你可以简单理解成代码解释器,类似于Java的虚拟机,C#的.net Framework,Python里的 ,作用是把你的代码翻译成计算机行为。

以上就是运行NodeJS代码的不二法则。

项目启动

很多知名框架都会提供所谓的脚手架命令,但是对于萌新玩家,我是不建议直接去使用脚手架的,这些脚手架做出来的目录结构对于萌新玩家来说是懵逼的,虽然有可能都是最佳实践的结果,但没有1,2,3步骤和手拉手,萌新也许直接退出游戏了。

新手真正的入门法则还是踏踏实实按照各种教程一步一步走,如果教程不好就换,没学会走路就想跑是不可能的。一般项目是这样开始的:

明确项目需求(略)

创建项目目录

初始化项目信息

安装必要的依赖

模块划分,编码

系统集成,测试

项目发布,维护升级

这个流程用NodeJS来实践大致是这样的:

前面一节全都是在介绍 ,通过这个例子你应该明白它在NodeJS中的重要性了吧,所以让你的 好用意义非凡。

例子中安装了两次依赖可能你有点困惑,可以这样理解,第一次依赖是项目运行时必要的依赖 ,在发布时必须安装的;第二次依赖是用于开发或者测试的 ,比如某些debug包或者test框架,开发过程才需要的包,在项目部署时没必要安装。其实还有可能安装第三种依赖 ,比如用来做数据分析或者别的enhancement的,目前NodeJS支持区分对待这三类依赖包。

语法演示

NodeJS里的JS就是JavaScript,属于动态语言,命名规则类似Java,但是语法更接近各种动态语言,比如Python或者Ruby。上手不难,了解一下标准库和数据基本类型,在IDE的加持下你就可以开始写代码了。

模块的编写范例:

包管理小贴士

对于 包的安装的位置我们来了解一下,简单来说就是这个包所作用的范围。如果安装包不带 参数那么默认就是安装在当前目录。

这个包也就只有在当前目录(项目)里可用,这样方便做到环境隔离,不同项目可以用同样包的不同版本等等。

-g

如果安装过程中带了 参数那么就意味这个包是全局(global)安装的,在系统的任何位置都是可用的。

一般的包安装都是不用带 的,除了一些工具类的包,例如第一节介绍的那些,这样系统干净一些,也可以避免全局包污染项目导致各种灵异事件。

--depth

如果要查看安装了哪些global包可以用这个命令:

如果不加 ,哎真没法看,也不知设计这个list的人为啥不默认带上这个参数,脑子被门夹了。为了方便你可以配上以下两个alias。

ncu

使用NodeJS就是要面对各种各样的包,有些包升级很勤快,你也想升级怎么办呢?哪些是outdated哪些不是, 的升级命令真的很难用(记)哎。我推荐你了解一下 :

这么好用的东西当然要全局安装啦,用法很简单,检查当前项目所有包的更新状态:

使用 就可以一键更新项目里的所有包,当然它也提供了一些过滤参数,你可以查阅文档。如果要看全局的包有没有可以更新的,试试 ,非常方便。

有一点要注意,虽然命令是 但是包名不是,因为 的包名已经被一个天气预报的包占用了,无语。

总结

现在写NodeJS项目已经很容易了,JS经过了两三年的野蛮生长,诞生了成千上万个包(框架),其中不乏精品,作为搬砖的码农,经过一顿 操作就可以做出一个不错的demo,你还犹豫什么?赶快上车吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180602G10JLA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券