nodejs 订阅
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 [1]  Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 [2]  发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。 展开全文
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 [1]  Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 [2]  发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
信息
最新版本
13.9.0
类    别
运行于服务端的JavaScript解释器
开发者
Ryan Dahl
更新时间
2020-02-25
中文名
node.js
外文名
Node
发布时间
2009年5月
node.js发展史
收起全文
精华内容
参与话题
问答
  • ICE3.7目前并不是稳定版本,因此选择ICE3.6.4,编译器VS2015。 要注意,ICE3.6的代码和ICE3.7的代码不同。使用官方文档时,使用对应的版本。 参考 ... ...
    ICE3.7目前并不是稳定版本,因此选择ICE3.6.4,编译器VS2015。
    要注意,ICE3.6的代码和ICE3.7的代码不同。使用官方文档时,使用对应的版本。
    一.ICE安装:
    二.编写一个测试服务器,使用C++编写,开发环境VS2015。
    安装插件,这可以方便开发。ICE BUILDERS IceBuilder.vsix https://zeroc.com/downloads/builders
    建立一个C++控制台工程,之后选择Add ice builder to project。插件可以帮我们配置包含目录,编译ice文件,十分方便。

    新建一个slice文件,Printer.ice。

    定义接口如下
    module Demo {
        interface Printer {
            void printString(string s);
        };
    };
    之后插件会自动生成对应的.h,.cpp文件(编译器会报很多错误,这应该是个BUG,比较烦。留下cpp,h文件,从工程中移除ice文件,就没这些错误了。)

    之后修改main函数,代码如下。
    #include <Ice/Ice.h>
    #include <Printer.h>
     
    using namespace std;
    using namespace Demo;
     
    class PrinterI : public Printer {
    public:
        virtual void printString(const string& s, const Ice::Current&);
    };
     
    void 
    PrinterI::
    printString(const string& s, const Ice::Current&)
    {
        cout <<"server:"<< s << endl;
    }
     
    int
    main(int argc, char* argv[])
    {
        int status = 0;
        Ice::CommunicatorPtr ic;
        try {
            ic = Ice::initialize(argc, argv);
            Ice::ObjectAdapterPtr adapter =
                ic->createObjectAdapterWithEndpoints("SimplePrinterAdapter""default -p 10000");
            Ice::ObjectPtr object = new PrinterI;
            adapter->add(object, ic->stringToIdentity("SimplePrinter"));
            adapter->activate();
            ic->waitForShutdown();
        catch (const Ice::Exception& e) {
            cerr << e << endl;
            status = 1;
        catch (const char* msg) {
            cerr << msg << endl;
            status = 1;
        }
        if (ic) {
            try {
                ic->destroy();
            catch (const Ice::Exception& e) {
                cerr << e << endl;
                status = 1;
            }
        }
        return status;
    }
    ICE程序运行时,需要DLL库。可以设置环境变量,也可以直接将DLL库拷贝到程序目录。
    set ICE_HOME=C:\Program Files (x86)\ZeroC\Ice-3.6.4

    我们编译的是vs2015 x86版本,因此C:\Program Files (x86)\ZeroC\Ice-3.6.4\bin\vc140目录下的库。带d的代表debug版本,不带d的代表release版本
    测试程序,比较简单。只需要把ice36d.dll,iceutil36d.dll两个库。
    三.编写nodejs客户端
    1.首先安装ICE的JS包
    npm install ice@3.6.4
    2.把ice文件(Printer.ice)编译出js版本代码,命令行输入
    slice2js Printer.ice
    得到Printer.js文件
    3.编写client.js,代码如下
    var Ice = require("ice").Ice;
    var Demo = require("./Printer").Demo;
    var ic;
    Ice.Promise.try(
        function()
        {
            ic = Ice.initialize();
            var base = ic.stringToProxy("SimplePrinter:default -p 10000");
            return Demo.PrinterPrx.checkedCast(base).then(
                function(printer)
                {
                    return printer.printString("Hello World!");
                });
        }
    ).finally(
        function()
        {
            if(ic)
            {
                return ic.destroy();
            }
        }
    ).exception(
        function(ex)
        {
            console.log(ex.toString());
            process.exit(1);
        });
    打开C++的控制台程序,运行node.js
    node client.js
    就可以看到控制台上打印出
    server:Hello World!
    展开全文
  • 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
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • 原因: 数据库服务没有打开 解决办法重启 MySQL
    原因: 数据库服务没有打开

    解决办法重启 MySQL
    在这里插入图片描述

    展开全文
  • 问题引入:今天在 Gulp 构建任务中出现一个 html 解析错误,但是并没有报错,也没有中断 gulp 构建任务的执行,而是出现 UnhandledPromiseRejectionWarning 的警告,所以会误以为... (node:24866) UnhandledPro...

    问题引入:今天在 Gulp 构建任务中出现一个 html 解析错误,但是并没有报错,也没有中断 gulp 构建任务的执行,而是出现 UnhandledPromiseRejectionWarning 的警告,所以会误以为构建成功,这篇文章将对此进行探究并解决该问题。

    1

    2

    3

    4

    5

    (node:24866) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error in plugin 'gulp-posthtml'

    Message:

    Parse Error: <img id="titleIcon" class$="{{getStypeType_(info.stype)}}" src$="{{getTitleIcon_(in

    ...

    (node:24866) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    关于 Unhandled Rejection

    一个 Promise 是一个异步操作的状态机,其可能处于这三种状态之一

    • pending:异步操作还在执行中
    • fulfilled:异步操作已经完成
    • rejected:异步操作执行失败

    Node.js 6.6.0 added a sporadically useful bug/feature: logging unhandled promise rejections to the console by default.

    在 Node.js 6.6.0 中增加了一个特性:对 Promise 中未处理的 rejection 默认会输出 UnhandledPromiseRejectionWarning 提示

    例如:test.js 中有如下代码:

    1

    2

    3

    new Promise((resolve, reject) => {

    setTimeout(() => reject('woops'), 500);

    });

     

    node test.js 执行:

    1

    2

    (node:47122) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): error

    (node:47122) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code

     

    另一种情况是直接在 Promise 中抛出异常:

    1

    new Promise(() => { throw new Error('exception!'); });

     

    执行后也会有 UnhandledPromiseRejectionWarning 的警告:

    1

    2

    (node:47657) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: exception!

    (node:47657) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

     

    Promise API 中有 .catch() 这个方法,可以用来处理捕捉 rejection 进行处理

    1

    2

    3

    4

    5

    6

    7

    8

    new Promise((resolve, reject) => {

    setTimeout(() => reject('error'), 500);

    })

    .catch(error => console.log('caught', error))

    new Promise(() => { throw new Error('exception!'); })

    .catch(error => console.log('caught', error.message))

     

    但是注意:

    1

    2

    new Promise((_, reject) => reject(new Error('woops')))

    .catch(error => { console.log('caught', err.message); });

     

    这个例子中虽然用 .catch() 捕捉处理了 Promise 中的 rejection;但是注意在 err.message 中的 err 是未定义的,代码执行时会抛出错误,由于没有后续的处理,所以也会输出 UnhandledPromiseRejectionWarning 的警告

    1

    2

    (node:47918) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): ReferenceError: err is not defined

    (node:47918) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    所以稍不注意就会引起 Promise 中的 unhandled rejections 

    unhandledRejection 事件

    在 node process 中有一个 unhandledRejection 事件,当没有对 Promise 的 rejection 进行处理就会抛出这个事件(这只对原生 Promise 有效)

    The unhandledrejection event is fired when a JavaScript Promise is rejected but there is no rejection handler to deal with the rejection.

    
     

    1

    2

    3

    4

    5

    6

    7

    
     

    process.on('unhandledRejection', error => {

    // Will print "unhandledRejection err is not defined"

    console.log('unhandledRejection', error.message);

    });

    new Promise((_, reject) => reject(new Error('woops')))

    .catch(error => { console.log('caught', err.message); });

    此时执行后,就没有 UnhandledPromiseRejectionWarning 的警告输出了,只输出:unhandledRejection err is not defined

    如果我们不想监听 unhandledRejection 事件,也不想看到 UnhandledPromiseRejectionWarning 的警告输出,怎么办呢?

    
     

    1

    2

    
     

    new Promise((_, reject) => reject(new Error('woops')))

    .catch(new Function());

     

    我们可以在 .catch() 中传入一个空函数,假装对 rejection 进行了处理,这样也没有触发 unhandledRejection 事件

    Async/Await

    关于 Async/Await,可以参考文章:ES7 中的 async await,在这篇文章中详细介绍了 Async/Await 并且和 Promise 进行了对比,Async/Await 在处理异步操作上的优势更明显。

     

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    
     

    async function test() {

    // No unhandled rejection!

    await Promise.reject(new Error('test'));

    }

    test();

    // 输出:

    // (node:54358) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): Error: test

    // (node:54358) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    test().catch(error => console.log(error.message));

    // 输出:

    // test

    async 异步函数返回的是 Promise,所以执行异步函数后,统一需要用 .catch() 对可能出现的 rejection 进行捕捉处理,否则统一也是会出现 UnhandledPromiseRejectionWarning 的警告

    解决问题

    最后解决一下文章开头的问题:构建任务中 html 解析错误,出现了一个 Unhandled Rejection,所以我们可以添加一个 unhandledRejection 事件监听,直接退出:

    
     

    1

    2

    3

    4

    
     

    process.on('unhandledRejection', error => {

    console.error('unhandledRejection', error);

    process.exit(1) // To exit with a 'failure' code

    });

     

    参考链接

    Unhandled Promise Rejections in Node.js

    展开全文
  • [nodeJS]Node.js到底是什么?

    千次阅读 2017-01-03 21:29:24
    来自:bestswifter - 简书 链接:...Node.js 是什么传统意义上的 JavaScript 运行在浏览器上,这是因为浏览器内核实际上分为两个部分:渲染引擎和 JavaScript 引擎。前者负责渲染 HTML + CSS,后者
  • 全面学习vue.js配置,es6命令,解构赋值,symbol类型,set,weakSet,Map,WeakMap,Iterator遍历器,Generator函数结构,Promise对象,async函数,箭头函数,class类,proxy代理,Decorator修饰器,model模块,二进制...
  • // nodejs+express+jwt-simple let jwt = require('jwt-simple'); //秘钥 let secret = "laney"; let time = 10; let tokenExpiresTime = 1000 * 60 * 60 * 24 * 7; //token过期时间,毫秒为单位, 7天 module....
  • 按照老师的要求,我下载了nodeJS的msi文件,安装方式除了特殊要求是傻瓜模式(一直Next),安装在了C盘。然后按照老师的在C盘根目录下建立Demo。 随后在cmd中: cd c: cd Demo npm install express 出现错误:...
  • [NodeJS]Node.js 打造实时多人游戏框架

    千次阅读 2014-10-29 18:14:25
    摘要:本文具体讲述了开发Spaceroom(我们的实时多人游戏框架)的过程,包括一系列的探索与尝试,以及对Node.js、WebKit平台本身的一些限制的解决,和解决方案的提出。 【编者按】Node.js的大红大紫也造就了一...
  • 本课程主要介绍了Node.js的基本情况,以及如何安装Node.js、与Nginx集成,以及开发一个比较复杂的Http服务器的方法。
  • Node.js的卸载

    万次阅读 多人点赞 2019-06-21 09:17:02
    VUE项目使用iView组件在控制面板-...确保node.js没有在后台运行的情况下,进行卸载,可做重启操作后,在到控制面板中找到node.js进行卸载 卸载后 到文件夹中进行进一步的删除 C:\Program Files (x86)\Nodejs C:\Pr...
  • 现在Node这么火,为什么不用他写个爬虫呢。 那么,开始吧! 技术: puppeteer : 由Google团队开发,该工具可以理解成我们日常使用的Chrome的无界面版本以及对其...Egg.js: 由阿里团队开发,其宗旨是:为企业级框...
  • 解压到到一个你通常习惯的盘中比喻c盘 解压可命名为nodejs修改名称为nodejs第三步:配置环境变量 找到原有的path添加nodejs文件路径比喻我的路径为配置在配置nodejs文件加下面的node_modules文件夹路径 一定要注意...
  • Node.js比Java更快?为什么NodeJS这么快
  • Node.js入门》Windows 7下Node.js Web开发环境搭建笔记

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

    万次阅读 2019-04-05 15:14:34
    node.js是什么本来应该是放在学习之后做的总结,但是在学习一门新语言或新的知识之前,还是应该对其有个大体上的了解,知道她是什么?她适用于哪些应用场景?她的优点及缺点?大体上弄清楚这些之后可以对其有个整体...
  • Node.js开发入门—notepad++ for Node.js

    万次阅读 2015-09-12 07:37:35
    使用notepad++作为Node.js(MEAN)的代码编辑器,配置自动完成、运行项目等功能。
  • node.js 源码安装node.js

    2016-04-25 09:36:06
    安装前准备 安装依赖库gcc, g++: apt-get install gcc g++ 下载nodejs源码包: wget https://nodejs.org/dist/v5.1.0/node-v5.1.0-linux-x64.tar.gz 安装 解压: tar xvfz n... 安装前准备  安装依赖库...
  • 由于高版本的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环境...Node.js安装包及源码下载地址为:https://nodejs.
  • 这里讲的是CentOS 下的搭建方法,使用Windows的小伙伴请参考:《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记Node.js是什么?我们看看百科里怎么说的?JavaScript是一种运行在浏览器的脚本,它简单,轻巧,...
  • node.js 刷csdn博客访问量

    万次阅读 2020-01-16 14:46:08
    身为一名前端技术人员利用node刷一下博客的访问量应该不过分吧··· 导入npm包 request以 npm 包的形式提供,是一个简单的 HTTP 客户端,通过它可方便地实现 HTTP 请求,可以用来请求网页; cherrio是用来分析dom...
  • Node.js 安装配置本章节我们将向大家介绍在...Node.js安装包及源码下载地址为:https://nodejs.org/en/download/。你可以根据不同平台系统选择你需要的Node.js安装包。Node.js 历史版本下载地址:https://nodejs.or...
  • Node.js - Node.js安装使用入门

    千次阅读 2014-06-16 10:29:03
    1.进入Node.js官网: http://www.nodejs.org/ 点击大大的INSTALL,下载文件node-v0.10.28-x86.msi。 2.运行node-v0.10.28-x86.msi文件进入安装页面: 点击next,进入license页面: 勾选I accept the terms ...
  • 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,最近一直在学习Node.js,随着逐渐深入的了解,发现真的Node.js能越来越变得热门是有其存在的道理的。可能有人会说,Java作为...
  • Node.js初体验 Kali安装Node.js

    千次阅读 2017-02-08 23:27:56
    背景:偶然看到node.js开发微信公众号的视频,有些好奇,想要接触下。然后花了两个小时在实验楼网站上在线学习了JavaScript的基础知识,以及Node.js的基础 接着本着从实践出发的原则 先去本地kali下安装个Node.js...
  • 初学Node.js,搭建Node.js运行环境

    千次阅读 2016-06-20 09:19:53
    首先去Node.js官网下载.msi文件 https://nodejs.org/en/ 直接安装就可以了,可以自定义路径。然后去配置环境变量,打开我的电脑-->高级系统设置-->环境变量-->用户变量,选择path变量编辑,将你的node安装路径复制...
  • node.js 安装详细步骤教程

    万次阅读 多人点赞 2019-01-08 22:43:01
    Node.js 官方网站下载:https://nodejs.org/en/ 选择操作系统对应的包: 下载完成,安装包如下:   2、安装 打开安装,傻瓜式下一步即可:       选择安装位置,我这里装在D盘下:    ...

空空如也

1 2 3 4 5 ... 20
收藏数 207,686
精华内容 83,074
关键字:

nodejs