目录
Vue环境搭建(Node)
Node.js基本介绍
Node.js是一个可以让JavaScript运行在服务器端的平台。它是一个为实时Web应用开发而诞生的平台,它从诞生之初就充分考虑了在实时响应、超大规模数据要求下架构的可扩展性。这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而采用了单线程、异步I/O、事件驱动式的程序设计模式,其轻量又高效(基于Chrome V8引擎的JavaScript运行环境)
(1)Node.js是一个基于Chrome V8引擎的JavaScript运行环境
(2)Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效
(3)Node.js的包管理器npm,是全球最大的开源库生态系统
Node.js能做什么?
(1)具有复杂逻辑的网站
(2)基于社交网络的大规模Web应用
(3)Web Socket服务器
(4)TCP/UDP套接字应用程序
(5)命令行工具
(6)交互式终端程序
(7)带有图形用户界面的本地应用程序
(8)单元测试工具
(9)客户端JavaScript编译器
(10)Node.js内建了HTTP服务器支持,也就是说可以轻而易举地实现一个网站和服务器的组合
Node.js异步I/O与事件驱动
Node.js最大的特点就是采用异步式I/O与事件驱动的架构设计。传统高并发架构方案是多线程模式,Node.js使用的是单线程模型,对于所有I/O都采用异步式的请求方式,避免了频繁的上下文切换。Node.js在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式I/O请求完成后会被推送到事件队列,等待程序进程进行处理
Node.js异步机制:基于事件的,所有的磁盘I/O、网络通信、数据库查询都以非阻塞的方式请求,返回的结果由事件循环来处理
Node.js事件驱动:Node.js进程在同一时刻只会处理一个事件,完成后立即进入事件循环检查并处理后面的事件。这样做的好处是,CPU和内存在同一时间集中处理一件事,同时尽可能让耗时的I/O操作并行执行。对于低速连接攻击,Node.js只是在事件队列中增加请求,等待操作系统的回应,因而不会有任何多线程开销,很大程度上可以提高Web应用的健壮性,防止恶意攻击
Node.js性能
Node.js用异步式I/O和事件驱动代替多线程,带来了可观的性能提升。Node.js除了使用V8作为JavaScript引擎以外,还使用了高效的libev和libeio库支持事件驱动和异步式 I/O
相关名词介绍
(1)JavaScript
JavaScript是由ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成的,而Mozilla则指出JavaScript由Core JavaScript和Client JavaScript组成的。
Node.js中的JavaScript只是Core JavaScript,或者说是ECMAScript的一个实现,不包含DOM、BOM或者Client JavaScript,这是因为Node.js不运行在浏览器中,所以不需要使用浏览器中的许多特性
(2)V8引擎
Node.js的JavaScript引擎是V8,来自Google Chrome项目。 V8号称是目前世界上最快的JavaScript 引擎,经历了数次引擎革命,它的JIT(Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。 Node.js 不运行在浏览器中,所以也就不存在JavaScript的浏览器兼容性问题,可以放心地使用JavaScript语言的所有特性
npm(包管理器,★)
npm全称为Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器(类似Maven)
npm初衷:JavaScript开发人员更容易分享和重用代码。
npm的使用场景:
(1)允许用户获取第三方包并使用
(2)允许用户将自己编写的包或命令行程序进行发布分享
npm版本查询:npm -v
Node.js有着强大而灵活的包管理器(node package manager,npm),全球最大的开源库生态系统。目前已经有上万个第三方模块,其中有网站开发框架,有MySQL、PostgreSQL、MongoDB数据库接口,有模板语言解析、CSS生成工具、邮件、加密、图形、调试支持,甚至还有图形用户界面和操作系统API工具
Node.js可以作为服务器向用户提供服务,与PHP、Python、Ruby on Rails相比,它跳过了Apache、Nginx等HTTP服务器,直接面向前端开发。Node.js的许多设计理念与经典架构(如LAMP)有着很大的不同,可提供强大的伸缩能力
webpack(模块打包,,★)
WebPack可以看做是模块打包机:它做的事情是,分析项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用
CommonJS规范
CommonJS定义了一套普通应用程序使用的API,从而填补JavaScript标准库过于简单的不足。
CommonJS规范包括了模块(modules)、包(packages)、系统(system)、二进制(binary)、控制台(console)、编码(encodings)、文件系统(filesystems)、套接字(sockets)、单元测试(unit testing)等部分
安装Node.js、Vue环境(★)
官网下载:http://nodejs.cn/download/
注意:node的版本,只有支持和谐模式的node才会支持es6, 在基于webpack构建项目名称时才不会报错。推荐最新版本
下载后直接安装
之后都选择安装地址之后,都选择默认即可
(1)设置nodejs prefix(全局)和cache(缓存)路径
在nodejs安装路径下,新建node_global和node_cache两个文件夹
①设置系统环境变量
设置环境变量可以使得住任意目录下都可以使用cnpm、vue等命令,而不需要输入全路径
此电脑 --> 属性 --> 高级系统设置 --> 环境变量
在系统变量中新建(NODE_PATH)及其配置(Path)
环境变量 | 配置项 |
---|---|
Path | E:\Mysoftware\Node\ E:\Mysoftware\Node\node_global |
NODE_PATH | E:\Mysoftware\Node\node_global\node_modules |
配置Path
②设置缓存文件夹
npm config set cache "E:/Mysoftware/Node/node_cache"
③设置全局模块存放路径
npm config set prefix "E:/Mysoftware/Node/node_global"
设置成功,之后用命令npm install XXX -g安装以后模块就在E:/Mysoftware/Node/node_global
(2)基于Node.js安装cnpm(淘宝镜像)
(类似于阿里云的maven中央仓库镜像)
# 已过期
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 新的地址
npm install -g cnpm --registry=https://registry.npmmirror.com
验证命令:cnpm -v
安装webpack
npm/cnpm install webpack --save-dev
解决WebStrom构建项目缓慢
虽然设置过淘宝镜像:
npm install-g cnpm --registry=https://registry.npm.taobao.org
但是通过vue init webpack projectName新建项目是和淘宝镜像没关系的,因为vue-cli用的是npm源,所以只要设置npm源就行了,可以提升创建速度:
步骤一:
npm cache clean
步骤二:
npm config set registry https://registry.npm.taobao.org
在使用vue cli搭建项目的时候,输入vue init webpack vue_project_demo。一直显示-download template,老是在哪转圈圈下载模板。
有一个小技巧,执行下列命令安装webpack包(没有安装cnpm可以自行安装哟,npm安装很慢的哟)
cpnm install --save-dev webpack
下载安装成功后(大概几秒钟),再重新执行vue init webpack vue_project_demo,就会发现下载模板飞速
(3)安装Vue
cnpm install vue -g --registry=https://registry.npm.taobao.org
(4)安装vue-cli脚手架
安装vue命令行工具,即vue-cli 脚手架
cnpm install vue-cli -g --registry=https://registry.npm.taobao.org
(5)检测是否安装成功
node -v
npm -v
vue -V
cnpm -v
(6)WebStrom安装Vue.js插件
点击Preferences进入WebStorm的配置页面,然后点击Plugins设置插件。
点击Browse Repositories按钮(第二个)浏览插件仓库,搜索Vue.js插件进行安装
(7)配置Vue模板
点击Preferences进入WebStorm的配置页面,按下图层级进入File and Code Templates,即文件模板配置
按照最新WebStorm对Vue模板的设置,可以写为:
<template>
#[[$END$]]#
</template>
<script>
export default {
name: "${KEBAB_CASE_NAME}"
}
</script>
<style scoped>
</style>
配置好之后,点击Apply或OK即可保存模板,下一次创建Vue文件时,不需要新建file,而可以直接新建Vue文件