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. P1219 八皇后 洛谷

    题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 ...

  2. 洛谷 P4136 谁能赢呢?

    P4136 谁能赢呢? 题目描述 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移 ...

  3. Ubuntu 16.04 GNOME在桌面左侧添加启动器(Launcher)

    安装Dash to Dock: git clone https://github.com/micheleg/dash-to-dock.git cd dash-to-dock/ make make in ...

  4. 一个简单的Java文件工具类

    package com.xyworkroom.ntko.util; import java.io.File; import java.io.FileInputStream; import java.i ...

  5. C#的DataGridView如何修改字体

    在RowTemplate中可以修改字体和显示的格式(比如保留几位小数)                  

  6. yarn 和 npm 的区别

    npm 与 yarn 命令对比 npm yarn npm install yarn install (N/A) yarn install --flat (N/A) yarn install --har ...

  7. 『NSOperation、NSOperationQueue』详解

    1. NSOperation.NSOperationQueue 简介 NSOperation.NSOperationQueue 是苹果提供给我们的一套多线程解决方案.实际上 NSOperation.N ...

  8. maven 打包排除配置文件

    如果你想通过pom.xml文件的配置实现的话,你可以这样1.打jar包时过滤配置文件<build><!-- 过滤配置文件 --><resources><res ...

  9. 六度分离(floyd算法,SPFA算法,最短路—Dijkstra算法)

    Time Limit : 5000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) ...

  10. 逆向碰到3des分析

    1.ios 某个app碰到涉及3des的解密函数. 2.底层调用的库函数. 3.对比CCCrypt的头文件 CCCryptorStatus CCCrypt( CCOperation op, /* kC ...