㈠ 为什么前端要会使用Nodejs
你熟悉JavaScript
假设你正在使用一个功能强大的客户端框架(Angular,Ember,
Backbone)以及REST-ful服务器端的API,使用JSON这种数据格式来传输和接受数据。即使你没有使用其中的任一种框架,你也用jQuery写过自己的框架。因此如果你不在服务器端使用Node.js,那么你就不断地做转译吧。你在转译两件事:
来自你脑中JavaScript的逻辑转换为服务器端框架的逻辑。
来自JSON的HTTP数据转换为你的服务器端的对象。
JavaScript贯穿着你的应用,你不但智力上涨,你也获得了实践经验。通过模型和模板的复用,你可以减少应用的大小,同时减少了复杂度和出现bug的可能性。
它很快
Node.js是JavaScript运行环境,使用了Google用在Chrome中的V8引擎。V8以闪电般的速度编译和执行JavaScript是因为V8将JavaScript编译成本地机器代码。包括网络连接的读写,文件系统的读写,以及数据库的读写——所有的在网页应用中的日常任务——在Node中执行地非常非常快。Node能让你创建快速,大规模的网络应用,能够处理高吞吐量的大量的实时连接。
工具
npm是Node.js的包管理器并且它棒呆了。这确实很棒,当然,这类似于其他生态系统的包管理器,但是npm很快很稳很一致。他在寻找和安装项目依赖做的非常好。他让包和其他的项目隔离开来,防止版本混淆。
实时变得简单
如果Node.js很擅长多并发连接,那么他也擅长多用户的,实时的网页程序,例如聊天室和游戏。Node的
event loop
能够满足多用户需求。实时能力使用websocket协议。Websocket是在客户端和服务器端的简单的双向沟通渠道。因此服务器能够推送数据到客户端就像客户端推送一样。websocket运行在TCP,避免了HTTP的消耗。
流数据
传统意义上来说,web框架将HTTP请求和响应当做一个整体的数据对象。实际上,他们是I/O流,你可以想象,如果你把文件从文件系统中以流的形式取出。既然Node.js非常擅长处理I/O,我们能够利用这个特点创建一些很酷的东西。比如,它能够当视频或音频文件上传的时候,就转码音频或视频文件,减少了整体处理的时间。
一个代码库和免费的实时
Meteor是下一代基于Node的web框架。他可以在客户端和服务器端运行相同的代码库。然后,数据自动保存在服务器。其他的方式也奏效!任何服务器上的数据都自动传到客户端。
㈡ vue项目要部署在服务器上,那么服务器需要安装node.js环境吗
最好是安装一个。
1.如果你仅仅是打包好的vue相机,那么要看服务端使用的是什么语言,如果是node的话,肯定要安装node环境的,但是如果不是node,那么就没有必要了。
2.如果你想在服务端跑vue的项目,也就是在远程端做开发工作,那么肯定是要安装node的,毕竟vue开发环境需要node。
基本上服务端也就这两种需求,node包其实很小,安装一个也不费事,还可以方便开发,我觉得在远程端按一个最好。
㈢ 如何用nodejs做一个简单的前端Static Server
var http = require('http');
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
});
//开始你的mysql连接
connection.connect();
var server = http.createServer(function (req, res) {
//如果你发一个GET到http://127.0.0.1:1337/test?a=1&b=2的话
var url_info = require('url').parse(req.url, true);
//检查是不是给/test的request
if(url_info.pathname === '/test'){
//把query用url encode,这样可以用post发送
var post_data = require('querystring').stringify(url_info.query);
//post的option
var post_options = {
host: 'localhost',
port: 1337,
path: '/response_logic',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length
}
};
//发出post
var request_made = http.request(post_options, function(response_received){
var buf_list = new Array();
response_received.on('data',function(data){
buf_list.push(data);
});
response_received.on('end',function(){
var response_body = Buffer.concat(buf_list);
res.end(response_body);
connection.query('insert into .........',function(err,rows,fields){
//处理你的结果
});
});
});
//发出post的data
request_made.end(post_data);
}
//这个是用来回复上面那个post的,显示post的数据以表示成功了。你要是有别的目标,自然不需要这一段。
else{
req.pipe(res);
}
});
server.listen(1337, '127.0.0.1');
//在server关闭的时候也关闭mysql连接
server.on('close',function(){
connection.end();
});
console.log('listening on port 1337');
㈣ nodejs能写windows桌面应用程序吗,就是打包成exe这种的
当然能,现在好多大公司都出了自己的框架,例如网易heX,本质上应该是利用开源浏览器内核webkit来做引擎,一个桌面应用应该就是一个简版的浏览器,网易云音乐的PC版好像就是前端做的
㈤ web前端打包报错 webpack 打包成功但是会报错 怎么解决
web前端打包报错 webpack 打包成功但是会报错解决方法如下:
1.具体看日志:This is most likely a problem with the SHOP.BM package。
2.另外,可以把node环境版本升级到新版本
㈥ 前端用nodejs能做什么
Node.js到底是什么?
Node.js是一个JavaScript的编译环境,当前端语言JavaScript在写完之后可以交给Node.js进行编译和解释,它的存在对于JavaScript有了质的飞跃。
下面就是一个简单的Node.js命令
#node hello.js
目前,Node.js在大部分领域都占有一席之地,尤其是I/O密集型的。
比如Web开发,微服务,前端构建等。不少大型网站都是使用 Node.js 作为后台开发语言的,用的最多的就是使用Node.js做前端渲染和架构优化,比如 淘宝 双十一、去哪儿网 的 PC 端核心业务等。另外,有不少知名的前端库也是使用 Node.js 开发的,如Webpack是一个强大的打包器,React/Vue 是成熟的前端组件化框架。
Node.js通常被用来开发低延迟的网络应用,也就是那些需要在服务器端环境和前端实时收集和交换数据的应用(API、即时聊天、微服务)。阿里巴巴、腾讯、Qunar、网络、PayPal、道琼斯、沃尔玛和 LinkedIn 都采用了 Node.js 框架搭建应用。
另外, Node.js 编写的包管理器npm已成为开源包管理了领域最好的生态,直接到2017年10月份,有模块超过47万,每周下载量超过32亿次,每个月有超过700万开发者使用npm。
Node.js是一个对于前端工作者不可或缺的工具。尤其是对于JavaScript有着巨大的提升,现阶段Node.js的应用已经有了非常蓬勃的发展。对于Node.js的学习和熟练运用,必不可少!
㈦ web前端打包报错 webpack 打包成功但是会报错 怎么解决
npm ERR! Windows_NT 6.1.7600
npm ERR! argv "D:\\Program Files\\nodejs\\\\node.exe" "D:\\Program Files\\nodejs\\node_moles\\npm\\bin\\npm-cli.js" "run" "dev"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] dev: `rimraf dist && webpack --progress --hide-moles --config build/webpack.dev.config.js`
npm ERR! Exit status 3221225501
npm ERR!
npm ERR! Failed at the [email protected] dev script 'rimraf dist && webpack --progress --hide-moles --config build/webpack.dev.config.js'.
npm ERR! This is most likely a problem with the SHOP.BM package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! rimraf dist && webpack --progress --hide-moles --config build/webpack.dev.config.js
npm ERR! You can get their info via:
npm ERR! npm owner ls SHOP.BM
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! E:\svn\SmartTourism\部件05-商家管理后台\2.project\trunk\code\FJW.Shop.Web\npm-debug.log
㈧ 如何使用nodejs作为java和前端的中间件
基本思路是 client <=> node (http or socket) <=> (queue) <=> JVM 要的是node的non-blocking IO的原生实现(这种代码用Java写要麻烦得多),很多JVM用来做那些需要blocking的核心工作;一般架构经验是同等硬件水平下,node的吞吐量比JVM高。
㈨ web前端开发nodejs怎么安装
第二步:安装nodejs
下载完成之后,双击 node-v0.8.16-x86.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面
第三步:安装相关环境
打开C:\Program Files\nodejs目录你会发现里面自带了npm,直接用npm安装相环境既可
进入node.js command prompt 命令窗口
进入nodejs 安装目录 C:\Program Files\nodejs
键入命令:cd C:\Program Files\nodejs 既可
现在开始安装相关环境
键入命令:npm install express 回车等待安装express........
键入命令:npm install jade 回车等待安装jade........
键入命令:npm install mysql回车等待安装mysql........
........安装什么组件,取决于环境搭建需求
默认情况下上述组件都是安装在C:\Program Files\nodejs\node_moles文件夹下 这也是nodejs相关组件的自动查找路径
第四步:创建一个工程
现在已经有express
express命令安装在全局才起作用!
所以express安装的时候要用 npm install express -g
或者直接修改全局路径:
npm config set prefix "C:\Program Files\nodejs"
npm config set cache "C:\Program Files\nodejs\cache" (先建好cache目录)
键入:express myapp (myapp是随意起的工程名称)
你会发现多了一个 C:\Program Files\nodejs\myapp 目录
默认情况下:里会自动创建
这几个文件,不做解释,相信有过开发经验的同学都能一眼明了。
复制node_moles到myapp下面
环境搭建到此完工,下面做一个demo测试!
在myapp下新建helloworld.js
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
console.log("nodejs start listen 8888 port!");
进入node.js command prompt 命令窗口,进入C:\Program Files\nodejs\myapp目录
键入node helloworld.js