美文网首页我爱编程
node.js和npm以及express小结

node.js和npm以及express小结

作者: 丶灰太狼他叔 | 来源:发表于2017-12-10 21:18 被阅读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的区别

    • npm install 仅仅是当我们把项目拉下来的时候,将项目中的依赖给安装了。
    • npm install --save 会将依赖写入package里的dependencies (附属国)里
    • npm install --save -dev 会将依赖写入package里的devDependencies 里面

    两者的区别: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框架:

    • 它可以设置中间件来响应http请求
    • 定义了路由表用于执行不同的 HTTP 请求动作,如默认为"/"
    • 可以通过向模板传递参数来动态渲染 HTML 页面,如为"/"渲染指定的html页面

    当然啦,我们也可以用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里面是用不了的

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

    相关文章

      网友评论

        本文标题:node.js和npm以及express小结

        本文链接:https://www.haomeiwen.com/subject/twgvixtx.html