NodeJs学习记录(一)初步学习,杂乱备忘

时间:2022-03-31 19:16:22

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"版本覆盖了,下载成功。