使用npm安装一些包失败了的看过来(npm国内镜像介绍)
这个也是网上搜的,亲自试过,非常好用!
镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):
1.通过config命令
npm config set registry http://registry.cnpmjs.org...
npm info underscore (如果上面配置正确这个命令会有字符串response)
今年年初打算用Node.js基于Express框架重写博客程序,从此告别ASP.NET。然而,我目前用的VPS是Windows Server系统、IIS服务器,如果让Express和IIS都监听80端口,明显会产生冲突。幸好,有一个叫做iisnode的扩展可以把Node.js程序托管到IIS。而且,这样托管之后也意味着可以使用IIS里面的各种功能(进程管理、GZip压缩、日志、缓存、权限控制、域名绑定等)。
...
“前后端分离”显然已不是什么新鲜的话题,Zakas在2013年10月份就曾发表过一篇博客《Node.js and the new web front-end》讨论Node背景下新时代的前端。毫无疑问,Node的出现给JavaScript语言带来了新的生机,也使得前端开发者有了更多的可能性。
前后端分离表面上看似乎是一场“圈地运动”,但实质上前后端分离是为了解决以往开发模式的一些诟病和痛点,同时也是迎合大的行业趋势的明智之举。我所在的美团酒店事业部去年7月份成立,新的业务、新的开发团队,这一切使得我们的前后端分离推进的很彻底。截至目前,前端承载的所有业务和线上服务都是基于Node,生产环境已经有近20台服务器。如此带来的全新前后端协作方式能够让专业的人做专业的事,无论前端后端都能较之前更专注在自己擅长的方面。
初次接触nodejs,想快速用nodejs建个站,于是找到了expressjs这个框架,摸索了许久才弄明白expressjs项目的创建与启动,现在分享一下。
前提环境:window系统、已安装nodejs、已联网。
补充:
在安装express之前需要安装express-generator,或则会出现express不是内部或外部命令的问题
npm install -g express-generator
步骤:
1、在D盘创建一个web文件夹;
2、打开cmd,cd到web目录;
我有一个Node.js Express项目。我已经安装了MongoDB,有server.js文件,当我尝试运行它,我得到这个错误:
module.js:340
throw err;
^
Error: Cannot find module 'mongodb'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
这个错误表明:NPM包:MongoDB 安装不正确。
大家肯定遇到过,当后端 API 没有编写完成时,前端无法进行调试,这就导致了前端会被后端阻塞的情况。而我所说的 Mock Server 是相当于构建假数据,然后把这些假数据存到 JSON 文件上,Mock Server 可以响应请求或者生成页面,当然也可以顺便生成 API 文档。
然后,还会遇到的一个问题就是,接口的 URL 跟真正的 URL 是不同的,Mock Server 往往会使用 127.0.0.1:3000 这样的 URL,而不是 http://www.camnpr.com/bar
这样的的路径,这会使得开发时与生产环境中 URL 不一样的问题。
所以想看看大家是如何构建 Mock Server 的。
为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个web容器,这个本地环境就是 mock server。
CORS(跨来源资源共享协议),高级浏览器(Chrome,firefox, opera, safir, ie10)在 XMLHttpRequest(AJAX) 中已经支持了这个协议。可以实现ajax跨域访问。(其实IE8也实现了,只不过是另外一个对象)
由于是跨来源的的访问,标识HTTP状态的Cookie的使用有一些特别处理。
Server Nodejs 代码
res.setHeader('Access-Control-Allow-Origin', req.headers.origin);//注意这里不能使用 *
res.setHeader('Access-Control-Allow-Credentials', true);//告诉客户端可以在HTTP请求中带上Cookie
res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
在用nodejs时,有个地方需要用到跨域,使用
app.use(function(req, res, next){
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers','X-Request-With');
next();
});