Node.js 基础
1. 安装node.js
Node.js网站下载
其中LTS版本代表稳定版,api查询可以在Node.js中文网查找
安装后电脑会带有node
命令和npm
命令
通过node -v
,npm -v
可以查看当前版本
更新已经安装的npm库
$ npm update –g
更新Nodejs自身到最新版本
安装n模块
$ npm install –g n
通过n模块更新
$ n latest
推荐先去官网查看当前稳定版本,使用n
将node安装到制定版本。
$ n 6.11.3
npm命令会连接到过国外的服务器,推荐用使用cnpm
cnpm
是淘宝团队开发的镜像,通过cnpm
安装的库比npm
安装的快很多,并且安装的版本和npm
安装的版本会保持一致
安装cnpm,以后所有的npm
命令都用cnpm
代替
$ npm install -g cnpm –registry=https://registry.npm.taobao.org
同步cnpm
模块
$ cnpm sync connect
2. 模块化
新建一个文件夹nodejs
然后下面分别新建两个文件app.js
和user.js
,把user.js
当做一个模块,app.js
去引用
- nodejs
- user.js
- app.js
user.js
代码如下
1234567 //通过module.exports的方法去输出module.exports = {userName : 'lalala',sayHi : ()=>{return 'javascript'}}
app.js
代码如下
123 let app = require('./user.js');//node有很多自己的模块,不同模块不同功能,根据功能去加载模块,更多查看文档console.log(app.userName);console.log(app.sayHi());
然后在命令行中,找到nodejs
文件夹,使用node命令执行app.js文件
$ node app.js
得到’lalala’和’javascript’,在app.js
中找到了user.js
的内容。
当然还有另一种方式
user.js
代码如下,这是将名字直接暴露出来的方法
1234 exports.userName = 'hello world';exports.sayHi = ()=>{return 'hi'}
3. 启用服务器
app.js
代码如下
1234567891011121314151617181920212223 let http = require('http');//启动服务器let url = require('url');//url地址相关let util = require('util');//实用工具let server = http.createServer( (req,res)=>{//当使用隐式的响应头时(没有显式地调用 response.writeHead()),该属性控制响应头刷新时将被发送到客户端的状态码。res.statusCode = 200;//util.inspect()将对象转成字符串,url.parse()要解析的url字符串//req.url获取到的不是一个完整的url地址let utilUrl = util.inspect(url.parse(req.url));console.log( `url.parse(req.url) = ${url.parse(req.url)}` );//[Object];console.log(`util.inspect = ${utilUrl}`);//[string]//必须要用end来结束,不然会一直运行res.end(utilUrl);} )//监听的地址和端口server.listen(3000,'127.0.0.1', ()=>{console.log('服务器已经启动');})
通过127.0.0.1:3000可以访问页面
4. 读取一个文件
新建一个文件a.text
,内容随意
新建一个node启动jsfs.js
|
|
执行代码
$ node fs.js
得到a.text
中的内容
修改文件
fs.js
中加入writeFile
方法
|
|
然后执行代码
$ node fs.js
得到新的文件b.text
,内容是a.text
的内容
在b.text
中追加内容appendFile
新建文件appFile.js
|
|
执行代码
$ node addFile.js
$ node addFile.js
$ node addFile.js
此时的b.text
5. 改变文件夹名字和文件名字
新建node启动jschange.js
|
|
执行命令
$ node change.js
6. 通过域名返回一个index.html页面
新建两个html页面,index.html
和login.html
,内容随意
新建一个node启动jsserver.js
|
|
执行命令
$ node server.js
通过127.0.0.1:3000/index.html和127.0.0.1:3000/login.html访问,会访问到对应html
7. 发送一个get请求
新建一个jsgetSth.js
,这里的get连接是网上随便找的,这里选用的慕课网的一个请求
|
|
执行命令
$ node getSth.js
8. 发送一个post请求
因为和get不同,post需要用到另一个方法request
新建一个jspostSth.js
|
|
执行命令
$ node postSth.js
9. 请求一个jsonp
jsonp的请求也需要用request
方法,而不是直接get请求。
新建一个jsjsonpSth.js
|
|
执行命令
$ node jsonpSth.js