认识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开发

For instance, Electron uses just the rendering library from Chromium rather than all of Chromium. This makes it easier to upgrade Chromium but also means some browser features found in Google Chrome do not exist in Electron.

Electron (原名 Atom-Shell)是 GitHub 开源的跨平台桌面应用开发框架,框架基于Node.jsChromium进行开发的,该框架允许你使用JavaScript, HTML 和 CSS来开发桌面应用。基于Electron框架开发的有 Visual Studio CodeAtom 等著名开源编辑器项目。

开始使用

  • 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
  • 笔者的使用方法

    • 下载electron-quick-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工具的更多相关文章

  1. [转载]Web前端和后端之区分,以及面临的挑战

    原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...

  2. Web前端和后端之区分,以及…

    原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...

  3. [转载]Web前端和后端之区分,以及面临的挑战【转】

    原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...

  4. Web前端和后端开发的区别和要求

    Web前端和后端开发的区别和要求 有时候自己会分不清,其实是因为前后端都了解,类似于全栈工程师,但又什么都不是很精通.那到底什么是前端.后端呢,我整理了一些企业要求级别的前端/后端基础,开发框架等. ...

  5. Fenix – 基于 Node.js 的桌面静态 Web 服务器

    Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...

  6. koa : Express出品的下一代基于Node.js的web框架

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966a ...

  7. 基于 Node.js 平台,快速、开放、极简的 web 开发框架。

    资料地址:http://www.expressjs.com.cn/ Express 基于 Node.js 平台,快速.开放.极简的 web 开发框架. $ npm install express -- ...

  8. Koa -- 基于 Node.js 平台的下一代 web 开发框架 koa.bootcss.com

    Koa -- 基于 Node.js 平台的下一代 web 开发框架 koa.bootcss.com

  9. 创业笔记-Node.js入门之一个完整的基于Node.js的web应用

    用例 我们来把目标设定得简单点,不过也要够实际才行: 用户可以通过浏览器使用我们的应用. 当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 用户可 ...

随机推荐

  1. Msys2+mingw-w64 编译VS2013使用的ffmpeg静态库注意事项

    1.环境准备 第一步:从http://sourceforge.net/projects/msys2/下载msys2的安装程序安装msys2; 第二步:通过msys2的包管理工具pacman安装ming ...

  2. [转]java中byte转换int时为何与0xff进行与运算

    在剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) {  String ret = "";  for (int ...

  3. JPA基本介绍以及使用

      JPA即Java Persistence Architecture,Java持久化规范,从EJB2.x版本中原来的实体Bean分离出来的,EJB3.x中不再有实体Bean,而是将实体Bean放到J ...

  4. Linux学习笔记 - Shell 输出命令

    1. echo 命令 echo 是基本的shell输出命令,她的语法是: echo string 我们也可以使用她来定制一些输出的格式,具体如下: 输出普通字符串 echo "it is a ...

  5. node制作代理服务器

    下面代码实现的功能是这样的: 首先创建一个HTTP服务器,当服务器接收到客户端的请求后,向"www.taobao.com"网站请求数据,当从该网站接受到的响应数据后,将响应数据发送 ...

  6. java中构造方法和方法super/this超类与子类中初始化顺序

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  7. 10_java之继承和抽象类

    01继承的概述 *A:继承的概念 *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 *b:在Java中,类的继承是指在一个现有类的基础上去构建一个新的类, 构建出来的新 ...

  8. swagger 接口文档,控制器 和 object类型的参数与返回值 的 注释不显示问题

    一.控制器的注释不显示:是因为配置swagger的时候没有将includeControllerXmlComments参数配置为true,因为其默认值为false 二.object 类型的参数和返回值 ...

  9. delphi IOS 后台状态保存

    FormSaveState procedure TFrm.FormSaveState(Sender: TObject);begin end; http://stackoverflow.com/ques ...

  10. springboot整合最新版dubbo以及dubbo-admin的安装

    一.安装前准备 由于dubbo被阿里捐献给了apache,这次安装admin时,参考网上的资料,地址还是停留在之前的链接,踩了不少坑,这里记录下. dubbo-admin下载地址: 地址一:https ...