2016/12/26 星期一

1.在win7下安装了NodeJs

1)进入官网 https://nodejs.org/en/download/,下载对应的安装包,我目前下载的是node-v6.2.0-x64.msi,安装的时候一直Next即可,

装好之后,会在安装目录下产生一个名为 node_modules 的文件夹,用于存放第三方包。

2)安装完毕后,打开cmd,输入"node -v",测试环境变量是否已经自动配好。

3)进入官网 http://nodejs.org/dist/v0.10.26/x64/node.exe 下载node.exe,教程里说这个是二进制文件,并不是很懂。

这个版本应该是比较旧的,试图进入 http://nodejs.org/dist/ 挑选最新版本进行下载,但是日期好像并不是有序的,于是先下载这个旧版本用着。

点开下载好的node.exe,是一个命令行窗口,输入“node”无反应,尝试输入Js代码 console.log('aaaa'),能正常返回运行结果,姑且当作可以运行Js代码的一个运行环境。

2.知道了NodeJs是类似于浏览器一样的Js解析器,当然NodeJs和浏览器所操作的对象和作用是不同的。

3.工具安装完毕后可以直接在cmd命令行下使用 “node" 命令切换到Js运行环境下,直接编写Js代码,例如console.log('aaaa') ,回车后可以得到运行结果。

因此也可以执行正则表达式,验证表达式是否正确(题外话了)。

要运行一个.js文件的方法是:切换到该js文件目录下,使用命令"node xxx.js" 即可。

(另外好久没用忘记了cmd下切换磁盘目录是 "d:",而不是 "cd d:",表示汗颜)

4.关于NodeJs的模块我没有看太懂,但是明白了require函数用于导入模块时,例如 var module1=require('./foo')

1)此处表示引用当前目录下的foo.js文件,并转换为对象module1,并且Js文件名可以省略掉“.js”。

2)引用路径除了可以使用绝对路径和相对路径以外,还支持模糊路径,例如  require('foo/bar') ,这个地方并不是很懂,也不知道在可以省略“.js"的情况下如何识别目录名和文件名?

下次学习的时候再看。

2016/12/27 星期二

1.安装了微软的Visual Studio Code(VSCode),用于后期上手实践用。

2.NPM工具

1)随着之前安装nodejs时便一同安装了,属于包管理工具,用于下载第三方包、命令行(不懂,记号)到本地使用,也可以上传用(暂时用不上)。

2)在cmd窗口中,尝试使用npm install argv下载第三方包"argv"时出现error错误,与json有关,查看教程发现当前目录下必须有一个package.json文件。

经过多次尝试发现,除了必须有这个json文件,如果文件内容为空也是无法下载的。于是我随意复制了教程里的以下内容到该文件中,此处是一段与argv毫无关系的内容:
{
    "name": "node-echo",
    "main": "./lib/echo.js"
}

再次执行npm install命令,命令窗口会显示下载下来的包以及版本号,可以看到的是下载了 argv 及express(可能是依赖包) 这两个包,版本分别为0.0.2和4.14.0。

对应的, node_modules 文件夹下会新增与包名同名的文件夹。

接着我删除了刚刚新增的package.json文件、argv、express文件夹。再次使用安装命令npm install argv,发现 argv 仍然能下载成功,但是express不会下载。

此处不是很理解,记号。

3)另外,点开node_modules文件下的各个第三方包,发现都有 package.json和README.md文件,感觉 package.json 是需要再深入理解一下的。

3.修改package.json文件以批量下载安装包

把刚刚的json文件内容修改为:

{
    "name": "node-echo",
    "main": "./lib/echo.js",
    "dependencies": {
        "argv": "0.0.1"
    }
}

接着在cmd窗口执行npm install,运行完毕后进入到node_modules/argv,点开package.json查看版本号,确实已经被设定的"0.0.1"版本覆盖了,下载成功。

 

NodeJs学习记录(一)初步学习,杂乱备忘的更多相关文章

  1. 学习Swift--枚举的初步认识 --个人备忘 大神勿喷

    枚举定义了一个通用类型的一组相关值,使你可以在你的代码中以一种安全的方式来使用这些值. // 定义枚举的语法 enum Chips { // 定义了薯片的枚举,包含了3种口味的成员 case Toma ...

  2. leveldb 学习记录(四)Log文件

    前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...

  3. [CSS3备忘] transform animation 等

    一些CSS不经常用就会忘记,好吧,现在整理再学习一下,也留做备忘,方便以后查看... perspective的理解: 1.数值越小,用户与3D空间Z平面距离越近,视觉效果更令人印象深刻(比如看电影,越 ...

  4. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  5. NodeJS 学习记录

    这里是我学习NodeJs的学习记录 URL:网址解析的好帮手 URL,URI 首先,URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源.而URL是u ...

  6. json2.js的初步学习与了解

    json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...

  7. JavaScript 教程学习进度备忘(二)

    备忘:之前,只将“JS 教程”学习完毕,这篇记录:“JS HTML DOM ”.“JS 对象”.“JS Window”.“JS 库” 书签:跳过:另外跳过的内容有待跟进 _______________ ...

  8. linux学习记录(第六章、Linux 的文件权限与目录配置)

    书看的是鸟哥的私房菜,系统用的是centos.被微软坑了N年才发现linux才是王道. 在这里记录些学习的记录.备忘

  9. Jquery基础教程第二版学习记录

    本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做 ...

随机推荐

  1. Java高并发实战,锁的优化

    锁优化 这里的锁优化主要是指 JVM 对 synchronized 的优化. 自旋锁 互斥同步进入阻塞状态的开销都很大,应该尽量避免.在许多应用中,共享数据的锁定状态只会持续很短的一段时间.自旋锁的思 ...

  2. 打造Spring Cloud构建微服务架构的最全资料

    访问: https://git.oschina.net/didispace/SpringCloud-Learning http://blog.didispace.com/categories/Spri ...

  3. 详细介绍Linux telnet命令的使用

    对Linux系统进行远程登录,Linux telnet命令是必须得掌握的一个知识,虽然telnet并不是唯一的远程登录的方案,但是不可否认它是最常用的,所以很有必要详细了解Linux telnet命令 ...

  4. Cocos2d-x 脚本语言Lua基本数据结构-表(table)

    Cocos2d-x 脚本语言Lua基本数据结构-表(table) table是Lua中唯一的数据结构.其它语言所提供的数据结构,如:arrays.records.lists.queues.sets等. ...

  5. Objective-C语言的 if ( self = [super init] )

    我们先假设如今自己创建了个类.我们起名叫MyObject,继承于NSObject. 继承知道吧,就是你这个子类(MyObject)假设什么都不写的话,和父类(NSObject)就是一模一样的. OC里 ...

  6. BZOJ1202 [HNOI2005]狡猾的商人 并查集维护前缀和

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1935  Solved: 936[Submit][Stat ...

  7. 【bzoj4385】[POI2015]Wilcze doły

    单调队列扫描,记录当前区间长度为d的一段的和的最大值,和当前区间和. #include<algorithm> #include<iostream> #include<cs ...

  8. 【HNOI模拟By YMD】move

    Description 设P(n)为从(0,0)移动到点(n,0)的不同路径数目,移动的方式有以下三种:(x,y)->(x+1,y-1),(x,y)->(x+1,y),(x+y)-> ...

  9. Xubuntu 计划从 19.04 版本开始停止提供 32 位安装镜像(XDE/LXQt的 Lubuntu 成为了目前唯一仍然提供 32 位安装镜像的 Ubuntu 桌面发行版)

    Ubuntu 17.10 以及其他许多 *buntu 衍生品都已在今年早些时候停止提供 32 位安装镜像.但其中有一个依然坚持提供适用于 i386 架构的镜像,它就是 Xubuntu,但现在 Xubu ...

  10. nestedScrollview 嵌套使用recyclerview判断滑动到底部 (嵌套滑动导致 不能使用recyclerview的onscrolled监听)

    NestedScrollView scroller = (NestedScrollView) findViewById(R.id.myScroll); if (scroller != null) { ...