精华内容
参与话题
问答
  • Node.js 是什么?Node.js与JavaScript的区别是什么?

    万次阅读 多人点赞 2019-06-06 23:37:49
    node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行  &...

    node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行     Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台,可用于后端建立服务器区别:      Javascript 主要应用前端    是编程语言    客户端编程语言(需要浏览器的javascript解释器进行解释执行)        node.js    主要应用后端      1个平台        运行环境(一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境)简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。
    Node.js的优点?Node.js的缺点?
     优点:1.事件驱动2.异步编程3.非阻塞模式的IO4.轻量高效缺点:1.可靠性低2.单进程,单线程,只支持单核cpu,不能充分的利用多核cpu服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。Node.js适用场景?Node.js不适用的场景?
    适用场景:1.JSON APIL ——构建一个Rest/JSON API服务,node.js可以充分发挥其非堵塞IO模型以及javascript对JSON的功能支持2.单页面、多Ajax请求应用——前端有大量的异步请求,需要服务器后端有极高的响应速度3.基于node.js开发Unix命令行工具——node.js可以大量产生子进程,并以流的方式输出4.流式数据——传统的web应用,通常会将HTTP 请求喝响应看成是原子事件。而node.js会充分利用流式数据这个特点,构建非常酷的应用不适用场景:cpu使用率较重、io使用率较轻的应用Node.js的基本语法
    基本语法与 javascript 一样这里我们使用exports导出一个函数,然后再另一文件中通过require导入入一个模块例如 :在 a.js 中写一个函数var hello=function(){    console.log(‘hello’)}export.hello=hello;在 b.js 中 需要用hello这个函数var a=require(‘a’);a.hello()单线程
    Node的设计中就是将耗时长的操作代理给操作系统或者多线程,这部分操作就是磁盘I/O和网络I/O。所以Node中异步非常常见,因为要将耗时的操作从主线程上脱离。但是这些I/O线程并不怎么耗费CPU。无法利用多核CPU是指Node的主线程无法利用上硬件上额外的CPU。这就需要用到cluster来在机器上启动多个Node实例,将额外的CPU也使用上。异步 IO
    事件驱动REPLREPL(Read-Eval-Print Loop) 中文的话有翻译成“交互式解释器”或“交互式编程环境”的。

    作者:cici_Gao
    链接:https://www.jianshu.com/p/21d3130ca059
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • Node.js(安装篇):Windows下安装及配置Node.js

    千次阅读 多人点赞 2019-02-20 15:16:12
    简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是...

    简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

    目录

    前期准备

    安装环境

    Node.js 安装

    Node.js 下载

    安装步骤

    使用MSI Windows Installer 安装示例

    查看是否安装成功

    环境变量配置

    Node.js安装

    npm环境变量

    Node.js 测试

    HelloWorld

    express模块测试


    前期准备

    安装环境

    本机系统:

    Node.js:

    Node.js 安装

    Node.js 下载

    从地址:https://nodejs.org/en/download/ 下载相应系统的msi,这里选择node-v10.15.1-x64.msi。

    安装步骤

    使用MSI Windows Installer 安装示例

    官方是建议使用MSI安装程序包的,该软件包包含一个图形用户界面(GUI),可指导您完成安装过程,双击可执行MSI。

    点击同意:

    选择安装目录:

    全部选择默认安装:

    等待安装完成:

    安装完成:

    查看是否安装成功

    使用命令提示符:

    安装完后的目录如下图所示:

    此处说明下:新版的Node.js已自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西

    环境变量配置

    Node.js安装

    默认情况下,Windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”

    npm环境变量

    这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在执行类似:npm install express [-g] (后面的可选参数-g,g代表global全局安装的意思)的安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】路径中,占C盘空间。
    例如:我希望将全模块所在路径和缓存路径放在我node.js安装的文件夹中,则在我安装的文件夹【D:\nodejs】下创建两个文件夹【node_global】及【node_cache】如下图:

    创建完两个空文件夹之后,打开cmd命令窗口,输入

    npm config set prefix "D:\nodejs\node_global"
    npm config set cache "D:\nodejs\node_cache"

    接下来设置环境变量,关闭cmd窗口,“我的电脑”-右键-“属性”-“高级系统设置”-“高级”-“环境变量”

    进入环境变量对话框,在【系统变量】下新建【NODE_PATH】,输入【D:\nodejs\node_global\node_modules】

    将【用户变量】下的【Path】修改为【D:\nodejs\node_global】

    Node.js 测试

    HelloWorld

    常规NodeJS的搭建到现在为止已经完成了,急不及待的话你可以在”cmd“输入”node“进入node开发模式下,输入你的NodeJS第一句:”hello world“ 。

    输入:console.log('hello world')

     另外,也可以写一个JS文件,测试关于http的请求,代码如下:

    var http = require("http");
    http.createServer(function(request, response) {  
        response.writeHead(200, {"Content-Type": "text/plain"});  
        response.write("Hello World 9999 ");  
        response.end();
    }).listen(9999);
    console.log("nodejs start listen 9999 port!");

    执行完点击:http://127.0.0.1:9999就看到我们熟悉的字符串了。

    express模块测试

    配置完后,安装个module测试下,我们就安装最常用的express模块,打开cmd窗口,
    输入如下命令进行模块的全局安装:

    npm install express -g # -g是全局安装的意思

    以上步骤都OK的话,我们可以再次开启cmd命令行,进入node,输入“require('express')”来测试下node的模块全局路径是否配置正确了。正确的话cmd会列出express的相关信息。如下图(如出错一般都是NODE_PATH的配置不对,可以看一下上面的环境变量是否配置正确)

    另外,我们也创建一个js文件来测试我们刚刚安装Express组件,代码如下:

    var express = require('express'); 
    var app = express(); 
    app.get('/', function(req, res){
        res.send("Hello World 8888 ");  
        console.log("Hello World 8888 ");  
    }); 
    app.listen('8888');
    console.log("nodejs start listen 8888 port!");

    把以上代码保存为test.js文件,然后在命令行上切换到当前保存文件的目录,执行node test.js,

    执行完点击:http://127.0.0.1:8888就看到我们熟悉的字符串了。

     

    展开全文
  • //showFun.js代码 const os = require('os'); module.exports = { showMem(){ const mem = os.freemem() / os.totalmem() * 100; console.log(`内存占用率${mem.toFixed(2)}`); }, showCpu(){ const cpuStat

    require和module属于commonJS规范

    //showFun.js代码
    const os = require('os');
    module.exports = {
         showMem(){
            const mem = os.freemem() / os.totalmem() * 100;
            console.log(`内存占用率${mem.toFixed(2)}`);
        
        },
         showCpu(){
            const cpuStat = require('cpu-stat'); // 第三方
            cpuStat.usagePercent((err, percent) => {
                console.log(`cpu占用率:${percent.toFixed(2)}`);
            });
        }
    }
    
    var showFun = require('./showFun.js');
    setInterval(()=>{
        showFun.showMem();
        showFun.showCpu();
    },1000)
    
    展开全文
  • const fs = require('fs'); //同步读取 const data = fs.readFileSync('./package.json'); console.log('data', data); console.log('data2', data.toString()); ...const data2 = fs.readFile('./package.json', ...

    读取

    const fs = require('fs');
    
    //同步读取
    const data = fs.readFileSync('./package.json');
    console.log('data', data);
    console.log('data2', data.toString());
    
    
    //异步读取
    const data2 = fs.readFile('./package.json', function (err, data) {
        console.log('异步data', data);
        console.log('异步data2', data.toString());
    });
    
    //利用promise ,第一种方式
    // 异步函数promise化
    // function promisify(fn) {
    //     return function () {
    //         let args = Array.prototype.slice.call(arguments);
    //         return new Promise(function (resolve, reject) {
    //             args.push(function (err, result) {
    //                 if (err) reject(err);
    //                 else resolve(result);
    //             });
    //             fn.apply(null, args);
    //         });
    //     }
    // }
    // var readFile = promisify(fs.readFile);
    // readFile('./package.json').then((res)=>{
    //     console.log(res.toString())
    // })
    
    // v >  8 , 第二种方式
    const {
        promisify
    } = require('util');
    
    var readFile = promisify(fs.readFile);
    // readFile('./package.json').then((res)=>{
    //     console.log(res.toString())
    // });
    (async () => {
        // var data3 = await fs.readFile('./package.json'); //可以吗,不可以的,需要一个promise对象,
        var data3 = await readFile('./package.json');
        console.log('ppp', data3)
    })();
    // v> 10
    
    const {readFile} = require('fs').promises;
    
    readFile('./package.json').then((res)=>{
        console.log(res.toString())
    });
    

    写入

    const fs = require("fs");
    
    function get(key) {
      fs.readFile("./db.json", (err, data) => {
        const json = JSON.parse(data);
        console.log(json[key]);
      });
    }
    function set(key, value) {
      fs.readFile("./db.json", (err, data) => {
        // 可能是空文件,则设置为空对象
        const json = data ? JSON.parse(data) : {};
        json[key] = value; // 设置值
        // 重新写入文件
        fs.writeFile("./db.json", JSON.stringify(json), err => {
          if (err) {
            console.log(err);
          }
          console.log("写入成功!");
        });
      });
    }
    
    // 命令行接口部分
    // require('readline') 模块提供了一个接口,用于从可读流(如 process.stdin)读取数据,
    // 每次读取一行。 它可以通过以下方式使用:
    const readline = require("readline");
    const rl = readline.createInterface({
      input: process.stdin,
      output: process.stdout,
      prompt: '请输入>'
    });
    rl.prompt();
    rl.on("line", function(input) {
      // get name 
      // set name kkkkkk
      // nm
      const [op, key, value] = input.split(" ");
     
      if (op === 'get') {
        get(key)
      } else if (op === 'set') {
        set(key, value)
      } else if(op === 'quit'){
        rl.close();
      }else {
        console.log('没有该操作');
      }
    });
    
    // 关闭readline.Interface实例,且撤回对input和output流的控制
    rl.on("close", function() {
      console.log("程序结束");
      process.exit(0);
    });
    
    
    展开全文
  • const buf01 = Buffer.alloc(10); console.log(buf01.toString()) const buf02 = Buffer.from([10,20,30]); console.log(buf02.toString()) const buf03 = Buffer.from('创建方法'); buf03.write('hellouuuuuuu');...
  • //myexpress.js const http = require('http'); const url = require('url'); let routers = []; class Application { get(path, hander) { routers.push({ path, method: 'get', hander }); } listen2() {
  • 全面学习vue.js配置,es6命令,解构赋值,symbol类型,set,weakSet,Map,WeakMap,Iterator遍历器,Generator函数结构,Promise对象,async函数,箭头函数,class类,proxy代理,Decorator修饰器,model模块,二进制...
  • 可挂载路由 var express = require('express'); var router = express.Router(); //可挂载路由处理程序 // 路由器的中间件 router.use(function timeLog (req, res, next) { console.log('Time: ', Date.now()) ...
  • Node.JS - 爬虫系统基础教程

    千人学习 2018-06-20 16:20:48
    Node.JS是一套使用JavaScript语言的后台。它执行Javascript的速度非常快,性能非常好。是近几年来火的公司首选后台语言之一,同时也是前后台人员争先恐后学习的后台语言。 网络爬虫(又被称为网页蜘蛛,网络机器人...
  • Node.js的卸载

    万次阅读 多人点赞 2019-06-21 09:17:02
    VUE项目使用iView组件在控制面板-...确保node.js没有在后台运行的情况下,进行卸载,可做重启操作后,在到控制面板中找到node.js进行卸载 卸载后 到文件夹中进行进一步的删除 C:\Program Files (x86)\Nodejs C:\Pr...
  • 本课程主要介绍Node.js的基本情况,以及如何安装Node.js、与Nginx集成,以及开发一个比较复杂的Http服务器的方法。
  • 现在Node这么火,为什么不用他写个爬虫呢。 那么,开始吧! 技术: puppeteer : 由Google团队开发,该工具可以理解成我们日常使用的Chrome的无界面版本以及对其...Egg.js: 由阿里团队开发,其宗旨是:为企业级框...
  • Node.js开发实战详解源代码

    千次下载 热门讨论 2015-11-29 15:10:48
    书由浅入深,全面、系统地介绍Node.js开发技术。书中提供了大量有针对性的实例,供读者实践学习,同时提供了大量的实践练习题及详尽的解答,帮助读者进一步巩固和提高。本书重在代码实践,阅读时应多注重实践编程...
  • 首先vue.js 是库,不是框架,不是框架,不是框架。 Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据...
  • node.js 刷csdn博客访问量

    万次阅读 2020-01-16 14:46:08
    身为一名前端技术人员利用node刷一下博客的访问量应该不过分吧··· 导入npm包 request以 npm 包的形式提供,是一个简单的 HTTP 客户端,通过它可方便地实现 HTTP 请求,可以用来请求网页; cherrio是用来分析dom...
  • Node.js开发入门—notepad++ for Node.js

    万次阅读 2015-09-12 07:37:35
    使用notepad++作为Node.js(MEAN)的代码编辑器,配置自动完成、运行项目等功能。
  • Node.js入门》Windows 7下Node.js Web开发环境搭建笔记

    万次阅读 多人点赞 2016-01-17 18:07:43
    最近想尝试一下在IBM Bluemix上使用Node.js创建Web应用程序,所以需要在本地搭建Node.js Web的开发测试环境。Node.js是什么?我们看看百科里怎么说的?JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑...
  • node.js 安装详细步骤教程

    万次阅读 多人点赞 2019-01-08 22:43:01
    Node.js 官方网站下载:https://nodejs.org/en/ 选择操作系统对应的包: 下载完成,安装包如下:   2、安装 打开安装,傻瓜式下一步即可:       选择安装位置,我这里装在D盘下:    ...
  • 由于高版本的node.js导致gulp执行build命令失败,我需要在Windows下卸载掉已有的node.js并安装一个多版本管理工具nvm-windows,方便切换不同版本的node.js。 nvm是Linux下常用的一个node.js多版本管理工具,但是nvm...
  • 先去官网下载好长期支持的node.js压缩包, node.js 然后解压缩到你自己的目录下, 将压缩包名改为node方便后续操作 mv node-v8.11.4-linux-x64.tar.gz node 然后修改profile 或者 bashrc 文件 vim ~/....
  • NODE.JS--如何使用Node.js

    千次阅读 2018-01-16 11:59:56
    简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的...
  • Node.js npm命令运行node.js脚本

    千次阅读 2018-05-13 10:01:58
    //通过npm运行node脚本 (控制台应用程序)cmd---cd package.json所在的目录---npm start cmd---npm (通过该命令可以查看npm后面能够设置的具体命令...node demo.js", // cmd环境中,npm start命令 就相当于 nod...
  • Node.js初体验 Kali安装Node.js

    千次阅读 2017-02-08 23:27:56
    背景:偶然看到node.js开发微信公众号的视频,有些好奇,想要接触下。然后花了两个小时在实验楼网站上在线学习了JavaScript的基础知识,以及Node.js的基础 接着本着从实践出发的原则 先去本地kali下安装个Node.js...
  • 最近去了新公司,又拾起了被我抛下许久的后端了,不过因为公司的需求,后端采用Node.js,最近一直在学习Node.js,随着逐渐深入的了解,发现真的Node.js能越来越变得热门是有其存在的道理的。可能有人会说,Java作为...
  • 这里讲的是CentOS 下的搭建方法,使用Windows的小伙伴请参考:《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记Node.js是什么?我们看看百科里怎么说的?JavaScript是一种运行在浏览器的脚本,它简单,轻巧,...
  • 初学Node.js,搭建Node.js运行环境

    千次阅读 2016-06-20 09:19:53
    最近在学习Node.js,先简单总结一下Node的运行环境测试输出HELLO WORLD! 首先去Node.js官网下载.msi文件 https://nodejs.org/en/ 直接安装就可以了,可以自定义路径。然后去配置环境变量,打开我的电脑-->高级...
  • 01-Vue.js环境准备-安装Node.js

    万次阅读 2020-08-25 06:56:51
    一、什么是Node.js 简单的说Node.js就是运行在服务端的JavaScript; Node.js是一个基于Chrome V8引擎的JavaScript运行环境; Node.js使用一个事件驱动、非阻塞式I/O的模型,使其轻量且高效; Node.js的软件包生态...
  • node.js 安装后怎么打开 node.js 命令框

    千次阅读 2018-07-24 22:01:00
    如图所示,在输入框中输入node 打开node.js command prompt 转载于:https://www.cnblogs.com/taoda/p/9362935.html

空空如也

1 2 3 4 5 ... 20
收藏数 131,043
精华内容 52,417
关键字:

node.js介绍