
Node.Js
dakang
这个作者很懒,什么都没留下…
展开
-
解决node环境下SyntaxError: Cannot use import statement outside a module的问题
问题今天刷leetcode的时候,发现有些函数老是重复书写,于是单独写了一个uitls.js模块,通过import的方式导入,没想到居然报错了。解决方案错误警告其实已经给出了解决方案,在package.json文件中设置"type": "module"。所以执行一下下面的命令,默认所有配置为‘y’,从而快速生成package.json,然后修改文件即可。npm init -y1{ "name": "leetcode", "version": "1.0.0", "desc...转载 2021-07-25 12:51:39 · 1561 阅读 · 0 评论 -
Node.js优缺点
Node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。nodeJs下载: http://nodejs.org/#downloa转载 2012-10-19 14:04:03 · 13350 阅读 · 0 评论 -
利用Travis CI 让你的github项目持续构建(Node.js为例)
Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。对于做开源项目或者github的使用者,如果你的项目还没有加入Travis CI构建队列,那么我真的想对你说out了。 下面转载 2015-12-09 19:23:27 · 862 阅读 · 0 评论 -
package.json依赖管理dependencies中 ^ 和 ~ 的区别
pakage.json 中对引入依赖包版本进行管理时,dependencies中常常可以看到类似 ^1.2.0 或 ~1.2.0 这样的版本范围指示。那么,这里的 ^ 和 ~ 具体表示什么含义呢。详细内容可以查看npm的官方文档:https://docs.npmjs.com/misc/semver#advanced-range-syntax上面的链接中高级范转载 2015-12-18 18:06:36 · 7123 阅读 · 0 评论 -
使用node-inspector调试Node.js应用
如果你在编写Node.js代码,node-inspector是必备之选,比Node.js的内置调试器好出许多。使用起来跟Chrome的javascript调试器很相似。使用npm安装:$ npm install -g node-inspector然后需要通过浏览器连接到node-inspector,需要启动inspector服务:$ node-inspector &转载 2016-01-04 15:09:03 · 427 阅读 · 0 评论 -
Centos上安装nginx+nodejs+express+mongodb环境.
用nginx反代nodejs,可以让每个app变得更独立。一、安装Nginxhttp://nginx.org/en/linux_packages.html#stable在这个页面,选择对应的系统版本这里是centos5下载安装包wget http://nginx.org/packages/centos/5/noarch/RPMS/nginx-rele转载 2016-01-06 21:56:33 · 2459 阅读 · 0 评论 -
Windows下 NodeJS 全局安装 modules 后在应用中 require 不到的解决方案
Windows环境下, 通过 npm install -g 安装的全局模块, 可能无法在app中被require引用到, 怎么办?其实, 只要设置环境变量NODE_PATH 指向全局模块根目录即可. 我的解决方法是:我的电脑->属性-> 高级-> 环境变量, 添加一个环境变量名为 NODE_PATH , 将其值设置为全局模块的根目录. 我这里这个目录是: C:\Documents an转载 2016-01-25 17:22:08 · 3052 阅读 · 0 评论 -
nodejs 中的 NODE_PATH
在使用 nodejs 开发中我们都免不了要去安装一些第三方模块。那么你或多或少的遇到过以下一些问题再继续阅读之前,我们先来弄清楚一个概念。npm install --global xxx 属于全局安装npm install xxx 属于本地安装安装的模块太多项目太臃肿,模块没能复用你写一个项目 A 需要安装一个 express 模块,又开发一个项目 B转载 2016-01-26 19:34:02 · 1184 阅读 · 0 评论 -
CNPM搭建私有的NPM服务
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低。非常适合小型网站,个性化网转载 2016-02-23 14:00:14 · 2858 阅读 · 0 评论 -
nodejs中获取内网ip地址
今天同事有个需求,希望用nodejs里的web服务器的对应的站点可以支持内网访问,后来发现修改express里的hostname属性为自己的内网ip就可以了。但是问题是,我们的机器都是自动获取内网ip,那么这次写死的hostname下次基本上就不能用了,于是我们想到了在nodejs里动态获取内网ip,并且把值赋给express的open方法就可以了,于是我按照这个思路开工了。我们先了解怎么获取原创 2014-11-27 17:10:05 · 5617 阅读 · 0 评论 -
Grunt 入门教程一:开始使用Grunt(翻译自官方教程)
关于Grunt翻译:用了Grunt一段时间,确实极大提高了前端开发效率,所以决定翻一下官方文档,方便英文基础不太好的童鞋们(本人英文也不怎么样)。虽然在github上找到了一个中文的翻译,但是翻译质量实在不敢恭维(个人感觉像是google全文翻译的结果,部分语句翻译非常不准确)。再者,即使有更好的中文翻译出现,也不会妨碍我自己翻译一遍,就当再学习一遍了。因为部分英文语句直译后很晦涩转载 2014-10-10 14:11:49 · 915 阅读 · 0 评论 -
Node.js零起点开发(七)-上传图片并且显示图片
本节介绍做个例子,实现上传图片,并且显示图片,中间修改了原作者demo中的bug。之前教程中的例子都可以脱离nodejs的目录依赖,即放在任何位置都可以执行,本节的例子和编译环境都必须放在nodejs的目录下,因为牵涉到路径的问题。安装外部模块首先我们要安装一个外部模块,该模块是Felix Geisend?rfer开发的node-formidable模块。它对解析上传的文件数据做了很好原创 2012-10-22 14:11:22 · 4671 阅读 · 1 评论 -
Node.js零起点开发(六)-处理POST请求
本节我们做一个简单的demo,post数据,并且接受数据requestHandlers的模块应用程序需要新的部件,因此加入新的模块 -- 已经无需为此感到新奇了。我们来创建一个叫做requestHandlers的模块,并对于每一个请求处理程序,添加一个占位用函数,随后将这些函数作为模块的方法导出:requestHandlers的模块start() : P原创 2012-10-22 10:18:50 · 2057 阅读 · 2 评论 -
NodeJs在非阻塞实现原理?
转载地址:http://rmn190.iteye.com/blog/1229662 在传统的Web服务器中(如Tomcat或Apache), 当一个请求到来时,服务器会用一个专门的线程来处理这个请求。 这是因为对请求的处理会有IO的阻塞,如果让服务器的主线程来处理的话,它会由于阻塞而不能再接受新请求的处理。 当然,传统的Web服务器用单独线程处转载 2012-10-19 13:57:47 · 1326 阅读 · 0 评论 -
NodeJs之Socket开发
我们用Telnet向指定端口发送socket指令首先讲下telnet的语法telnet [ip] [port]举例:telnet localhost 3000按Ctrl+]键从 Telnet 会话模式转换到 Telnet 命令模式send /whonodejs Socket实例:var net = require('net');var socke原创 2012-10-29 17:04:48 · 2855 阅读 · 0 评论 -
浅谈Node.js的工作原理及优缺点
转载地址:http://www.52maomao.info/node-js-working-principle-and-advantages-and-disadvantages.html编者注:与所有开源项目一样,Node.js将继续向前发展,开发人员将探索可以克服任何限制的新资源和新技术。按照惯例,我们鼓励读者亲自尝试新技术。关于Node.js的一点传闻:如果您听说过No转载 2012-10-19 16:39:59 · 2606 阅读 · 0 评论 -
Node.js零起点开发(五)-路由后添加有返回值(return)的处理函数
不好的实现方式对于我们这样拥有PHP或者Ruby技术背景的开发者来说,最直截了当的实现方式事实上并不是非常靠谱: 看似有效,实则未必如此。这里我指的“直截了当的实现方式”意思是:让请求处理程序通过onRequest函数直接返回(return())他们要展示给用户的信息。我们先就这样去实现,然后再来看为什么这不是一种很好的实现方式。requestHandlers的模块原创 2012-10-19 11:13:25 · 1494 阅读 · 0 评论 -
Node.js零起点开发(一)-NodeJs安装、Hello Word
安装node.js参考链接:https://github.com/joyent/node/wiki/Installation安装非编译版本这里面提供的是在不同操作系统上编译node.js的方法,参照链接https://github.com/joyent/node/wiki/Installation安装编译后的版本 现在地址:原创 2012-10-18 11:30:49 · 5181 阅读 · 0 评论 -
Node.js零起点开发(三)-NodeJs路由
我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码(这里“代码”对应整个应用的第三部分:一系列在接收到请求时真正工作的处理程序)。因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能。我们需原创 2012-10-18 17:50:35 · 2099 阅读 · 1 评论 -
Node.js零起点开发(四)-路由后添加处理函数
路由,顾名思义,是指我们要针对不同的URL有不同的处理方式。例如处理/start的“业务逻辑”就应该和处理/upload的不同。在现在的实现下,路由过程会在路由模块中“结束”,并且路由模块并不是真正针对请求“采取行动”的模块,否则当我们的应用程序变得更为复杂时,将无法很好地扩展。我们暂时把作为路由目标的函数称为请求处理程序。现在我们不要急着来开发路由模块,因为如果请求处理程序没有就绪的话,原创 2012-10-19 10:34:49 · 2287 阅读 · 0 评论 -
开始使用node.js
转载地址:http://www.nowamagic.net/javascript/js_BeginToUseNodejs.phpnode.js是由Ryan Dahl编写的服务器端js framework,其初衷是为了编写更为高效的web服务器。它的亮点在于:使用当前最快的google v8 js engine单线程。因为不需要考虑并发,所以也就没有了锁和阻塞的概念,大大转载 2012-10-22 17:38:50 · 1190 阅读 · 0 评论 -
使用 Node.js 作为完整的云环境开发堆栈
转载地址:http://www.oschina.net/question/129540_25033本文探讨 Node.js,这是一个用于 UNIX® 类平台上 V8 JavaScript™ 引擎的事件驱动的 I/O 框架,设计这一框架的目的是为了编写可伸缩的网络程序,如 Web 服务器。本文通过一个完整的例子说明如何在 Node.js 中构建聊天服务器,分析了这个框架以及围绕它转载 2012-10-22 17:41:17 · 2053 阅读 · 0 评论 -
博文共赏:Node.js静态文件服务器实战
转载地址:http://www.infoq.com/cn/news/2011/11/tyq-nodejs-static-file-server本文是我对V5Node项目的总结,该项目的特性包括:项目大多数的文件都是属于静态文件,只有数据部分存在动态请求。数据部分的请求都呈现为RESTful的特性。所以项目主要包含两个部分就是静态服务器和RESTful服务器。本文讲的是静转载 2012-10-23 14:42:06 · 2032 阅读 · 0 评论 -
commenjs 规范里exports 和 module.exports的关系和区别
1、模块对外输出接口都是通过“module.exports”来实现输出的。即使是通过“exports”定义的接口,也是通过把接口添加到"module.exports"上对外输出的。2、"exprots"输出的结构如key:value 散列值的字面量对象({ }),module.exprots可以输出任何合法的js数据类型(boolean, number, date, JSON, strin转载 2013-02-27 11:29:14 · 683 阅读 · 0 评论 -
nodejs中exports与module.exports的区别详细介绍
看了好多篇关于exports与module.exports的区别的介绍,好多感觉讲的都不够准确,最后才明白两者用法的区别为:如果你想你的模块是一个特定的类型就用Module.exports。如果你想的模块是一个典型的“实例化对象”就用exports。你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块。例如:(假设这是rocker.js文件) 代码如下:原创 2013-02-27 11:25:46 · 1077 阅读 · 1 评论 -
NodeJS中module.exports与exports的区别
node.js通过实现CommonJS的Modules/1.0标准引入了模块(module)概念,一个模块可以通过module.exports或exports将函数、变量等导出,以使其它JavaScript脚本通过require()函数引入并使用。现在有一个问题:到底应该用module.exports还是用exports呢?console.log(module.exports原创 2013-02-27 09:45:16 · 1498 阅读 · 1 评论 -
nodejs调试和开发工具
nodejs的保姆 (supervisor),supervisor这个小工具可以解决开发中的调试问题如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件原创 2013-02-22 17:38:04 · 2839 阅读 · 0 评论 -
nodejs中supervisor命令不能注册成服务
之前我写的一篇文章中,介绍了可以注册nodejs程序为windows服务,后来我就想着能不能把nodejs调试和开发工具中提及的supervisor也注册为服务,尝试了下,无法成功。node命令方式启动的cmd命令node D:\NodeJs\demo_express\microblog\app.jssupervisor 命令方式启动的cmd命令supervisor D:\原创 2013-02-22 16:26:33 · 1522 阅读 · 0 评论 -
注册nodejs程序为windows服务
之前我运行nodejs程序的话,都是在cmd命令里输入类似命令启动的:node D:\NodeJs\demo_express\microblog\app.jscmd命令关闭后,nodejs程序也会自动关闭。在生产环境(开发、调试程序)中,这种方法完全可以满足需求,但是在发布环境中,最好能配置成服务,这样可以避免因服务器重启、窗口非法关闭等原因造成的不良后果。下面是我尝试的两种解决方案:原创 2013-02-19 10:49:57 · 6772 阅读 · 1 评论 -
将node.js程序注册为windows服务
转载地址:http://www.grati.org/?p=236应lemonhall要求,写一篇在windows中部署nodejs程序的文章,并提供了how to node上 “deploying-node-with-spark(如何使用spark部署node)“文章的链接(非常感谢lemonhall),今天有空正好说一下。nodejs编写的应用大都是网络服务,所以还是十分有必转载 2013-02-19 10:41:13 · 3740 阅读 · 1 评论 -
用NodeJS打造你的静态文件服务器
转载地址:http://cnodejs.org/topic/4f16442ccae1f4aa27001071这篇介绍的比之前 博文共赏:Node.js静态文件服务器实战 介绍的更详细,更好。在《The Node Beginner Book》的中文版(http://nodebeginner.org/index-zh-cn.html)发布之后,获得国内的好评。也有同学觉得这本书略薄,没转载 2012-10-25 13:15:00 · 1237 阅读 · 0 评论 -
Node.js零起点开发(二)-require的用法
require最常用的方法require('http') 内置模块require('./server') “./”表示当前路径,后面跟的是相对路径require("../lib/server") ../表示上一级目录,后面跟的也是相对路径server.jsvar http = require('http');function start(){ server原创 2012-10-18 15:26:38 · 15345 阅读 · 0 评论