认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具
认识Web、桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具
一、开发环境的搭建(基于win10)
1、安装node.js和npm
- 到node.js官网下载安装包(包含npm)进行安装
- 验证node.js是否安装成功,在命令行窗口输入命令
node -v通过查看版本进行验证 - 验证npm是否安装成功,在命令行窗口输入命令
npm -v通过查看版本进行验证
2、配置npm包管理器
由于国外的镜像不稳定,所以一般需要配置淘宝NPM镜像,配置命令如下:
npm config set registry https://registry.npm.taobao.org
配置npm包的全局存放路径(默认路径C:\Users\JeffreyYu\AppData\Roaming\npm):
npm config set prefix "C:\Program Files\nodejs\node_global"
配置npm-cache的路径(默认路径C:\Users\JeffreyYu\AppData\Roaming\npm-cache):
npm config set cache "C:\Program Files\nodejs\node_cache"
3、安装配置cnpm包管理器(默认配置的是淘宝npm镜像)
- 安装命令如下:
npm install -g cnpm --registry=https://registry.npm.taobao.org
4、安装配置yarn包管理器
安装命令:
npm install -g yarn 或
cnpm install -g yarn
通过yarn包管理器都有会
yarn.lock文件通过
yarn --version命令验证是否安装成功配置淘宝镜像
yarn config set registry https://registry.npm.taobao.org
5、安装前端自动化构建工具
- gulp安装命令:
npm install -g gulp –registry=https://registry.npm.taobao.org
- grunt安装命令:
npm install -g grunt
Gulp/Grunt 可以理解为帮助前端自动化构建的工具,用于优化前端工作流程。比如自动刷新页面、combo、压缩css、js、编译less等等。推荐Gulp。
6、安装前端模块打包(预编译)工具
- webpack安装命令:
npm install -g webpack
- browserify安装命令:
npm install -g browserify
- 前端模块化的方案 browserify/webpack 和 seajs/requirejs 的区别:
1、seajs/requirejs : 是一种"在线编译" 模块的方案,相当于在页面上加载一个CMD/AMD解释器。这样浏览器就认识了define、exports、module这些东西。也就实现了模块化。
2、webpack/browserify : 是一个"预编译"模块的方案,相比于上面 ,这个方案更加智能。这里以webpack为例。首先,它是预编译的,不需要在浏览器中加载解释器。另外,你在本地直接写JS,不管是 AMD / CMD / ES6 风格的模块化,它都能认识,并且编译成浏览器认识的JS
7、关于package.json的配置
- 在package.json里面dependencies依赖包的版本号前面的符号有两种,一种是~,一种是^。
- 的意思是匹配最近的小版本,比如1.0.2将会匹配所有1.0.x版本,但不匹配1.1.0
- 的意思是匹配最近的大版本,比如1.0.2 将会匹配所有1.x.x, 但不包括2.x.x
二、基于Angular(V2)开发的前端开发
1、设置开发环境安装(安装命令行工具Angular CLI)
- 安装(全局安装)命令:
npm install -g @angular/cli
或
cnpm install -g @angular/cli
- 卸载命令
npm uninstall -g @angular/cli
npm cache clean
2、创建新项目
- 安装命令:
ng new project-name
- 包管理器设置命令:
ng set --global packageManager=yarn 或
ng set --global packageManager=cnpm
3、启动开发服务器
- 进入项目,并启动服务器命令:
cd project-name
ng serve --open
三、基于React开发的前端开发
1、设置开发环境安装(安装命令行工具create-react-app)
- 安装(全局安装)命令:
npm install -g create-react-app 或
cnpm install -g create-react-app
- 卸载命令
npm uninstall -g create-react-app
npm cache clean
2、创建新项目
- 创建命令:
create-react-app project-name
3、启动开发服务器
- 进入项目,并启动服务器命令:
cd project-name
npm start
四、基于Vue开发的前端开发
1、设置开发环境安装(安装命令行工具vue-cli)
- 安装(全局安装)命令:
npm install -g vue-cli 或
cnpm install -g vue-cli
- 卸载命令
npm uninstall -g vue-cli
npm cache clean
2、创建新项目(基于 webpack 模板)
- 创建命令:
vue init webpack my-project
3、启动开发服务器
- 进入项目命令:
cd my-project
- 安装依赖包命令:
npm install
- 启动服务器命令:
npm run dev
五、基于Electron的桌面app开发
Electron (原名 Atom-Shell)是 GitHub 开源的跨平台桌面应用开发框架,框架基于Node.js 和 Chromium进行开发的,该框架允许你使用JavaScript, HTML 和 CSS来开发桌面应用。基于Electron框架开发的有 Visual Studio Code 和 Atom 等著名开源编辑器项目。
开始使用
electron-quick-start 的官方使用方法:
# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install
# Run the app
npm start
笔者的使用方法
用 Visual Studio Code(VS Code) 打开 electron-quick-start文件夹
在VS Code中打开命令行工具,输入命令
npm install安装依赖包配置launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Electron Main",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"program": "${workspaceRoot}/main.js",
"protocol": "legacy"
}
]
}
- 配置完后即可通过VS Code启动调试
Electron的开发环境搭建完毕。此外,Github还有一个与Electron有些类似的开源项目nw.js ,微信小程序开发工具就是基于nw.js开发的。
六、基于Ract Native的移动app开发
1、设置开发环境安装(安装命令行工具create-react-native-app)
- 安装(全局安装)命令:
npm install -g create-react-native-app 或
cnpm install -g create-react-native-app
- 卸载命令
npm uninstall -g create-react-native-app
npm cache clean
2、创建新项目
- 创建命令:
create-react-native-app AwesomeProject
3、启动开发服务器
- 进入项目命令:
cd AwesomeProject
- 启动服务器命令:
npm start
启动后命令窗口会打印QR code和服务器的地址(在VS Code的命令行中看不到),在手机端下载Expo App,用该App扫描QR code或输入服务器端的地址,手机端会自动加载服务器端的资源,在服务器端改动代码后保存会自动加载到手机端
认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具的更多相关文章
- [转载]Web前端和后端之区分,以及面临的挑战
原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...
- Web前端和后端之区分,以及…
原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...
- [转载]Web前端和后端之区分,以及面临的挑战【转】
原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...
- Web前端和后端开发的区别和要求
Web前端和后端开发的区别和要求 有时候自己会分不清,其实是因为前后端都了解,类似于全栈工程师,但又什么都不是很精通.那到底什么是前端.后端呢,我整理了一些企业要求级别的前端/后端基础,开发框架等. ...
- Fenix – 基于 Node.js 的桌面静态 Web 服务器
Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...
- koa : Express出品的下一代基于Node.js的web框架
https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966a ...
- 基于 Node.js 平台,快速、开放、极简的 web 开发框架。
资料地址:http://www.expressjs.com.cn/ Express 基于 Node.js 平台,快速.开放.极简的 web 开发框架. $ npm install express -- ...
- Koa -- 基于 Node.js 平台的下一代 web 开发框架 koa.bootcss.com
Koa -- 基于 Node.js 平台的下一代 web 开发框架 koa.bootcss.com
- 创业笔记-Node.js入门之一个完整的基于Node.js的web应用
用例 我们来把目标设定得简单点,不过也要够实际才行: 用户可以通过浏览器使用我们的应用. 当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 用户可 ...
随机推荐
- TransportClient操作详解
Elasticsearch JAVA操作有三种客户端: 1.TransportClient 2.JestClient 3.RestClient 还有种是2.3中有的NodeClient,在5.5.1中 ...
- Firewalld防火墙与ICMP攻击
原文地址:http://www.excelib.com/article/293/show 提到ICMP大家应该都很熟悉,可能有人会说:不就是ping吗?但是说到ICMP攻击以及相关防御措施可能就有的人 ...
- java代码------------条件运算符 ?:
总结: package com.sads; //?: //这个运算符是条件运算符 //条件式?值:值 public class Sd { public static void main(String[ ...
- java代码---indexOf()方法
总结:indexOf(String str,int index)方法.从参数指定位置开始,如果index值超过了字符串长度,则返回-1 package com.a.b; import java.io. ...
- ptyhon中文本挖掘精简版
import xlrd import jieba import sys import importlib import os #python内置的包,用于进行文件目录操作,我们将会用到os.listd ...
- POJ 3684 Physics Experiment(弹性碰撞)
Physics Experiment Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2936 Accepted: 104 ...
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
转自:http://www.cocoachina.com/industry/20140514/8418.html 转自wufawei的博客 当你的应用提交到App Store或者各个渠道之后,请问你多 ...
- MySQL 5.7 坑爹参数 – log_timestamps
官网原话: This variable was added in MySQL 5.7.2. Before 5.7.2, timestamps in log messages were written ...
- 017:磁盘I/0介绍和测试
一. 磁盘 1. 磁盘的访问模式 顺序访问 顺序的访问磁盘上的块: 一般经过测试后,得到该值的单位是MB/s,表示为磁盘带宽,普通硬盘在 50~ 100 MB/s 随机访问 随机的访问磁盘上的块 也可 ...
- Code blocks调试教程
特别声明:本教程已转移至百度经验:https://jingyan.baidu.com/article/6b182309939a87ba58e159bf.html 一.题外话 之前一直想用Code bl ...