我爱编程

node.js和npm以及express小结

2017-12-10  本文已影响19人  丶灰太狼他叔

1、node.js

node.js简单来说就是运行在服务器端的javascript,是基于Chrome的V8引擎建立的一个平台,来运行js脚本。V8引擎执行js的速度非常好,性能非常好。
常用命令:
node -v 查看node版本。
输入node 进入交互模式,执行js代码:

$ node
> console.log('Hello World!');
Hello World!

node a.js来执行js代码

2、npm

npm即node package manager,也就是node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。

npm install, npm install --save和npm install --save -dev的区别

两者的区别:devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的
所以,在我们开发环境中通常需要加上-dev

我们前端从后端拿数据就会出现跨域的情况,所以通常需要设置代理服务:

npm config set proxy http://proxy.example.com:8080

删除proxy:

npm delete proxy

查看安装了哪些包

npm ls

其他同事更新代码,又装了新的依赖,我们需要更新包:

npm run update

3、express

比如我们需要在本地文件用Ajax获取网络时间的时候就会出现跨域的情况:


ajax跨域.png

因为我们的协议是file协议,而ajax只允许http,https,data等形式的协议。
这个时候就需要应用到node.js的express框架:

当然啦,我们也可以用hbuilder或者webstorm内置本地服务器的编辑器来打开,这样更加的直接暴力

express的安装使用
安装:

 cnpm install express --save

安装之后,查看版本:

cnpm ls express

然后在我们的目录下新建一个express.js,代码内容:

var express = require('express');
var app = express();
 
app.get('/', function (req, res) {
   res.sendfile('./getDate.html');
})
 
var server = app.listen(8081, function () {
    console.log("服务启动成功"); 
})

然后运行这个脚本:

node express.js

打印出来"服务启动成功",即表示成功。

我们在地址栏输入http://localhost:8081/,就可以看到express.js里res.sendfile()发送的默认html页面啦!
这样就不会出现跨域的问题了。

特别需要注意的是:在express里写文件的绝对路径时,可以使用__dirname对象来用加号拼接。这个是node.js里面的当前文件的绝对路径。在js里面是用不了的

暂时就想到了这些,如果以后遇到新的问题回来继续更新。

上一篇 下一篇

猜你喜欢

热点阅读