认识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. 在Windows下搭建基于nginx的视频直播和点播系统

    http://my.oschina.net/gaga/blog/478480 一.软件准备 由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows ...

  2. java代码----substring()方法是按索引截取字符串。。。下标0开始

    总结:按照索引substring(2,5);意思是从字符串的索引为2开始(包括)到第6个字符(不包括)的位置的截取部分 package com.s.x; //substring public clas ...

  3. 模拟admin组件自己开发stark组件之创建篇

    admin组件 admin组件为我们提供了针对django管理页面 我们先简短来看下django的admin组件的启动流程,注册流程,url匹配过程 启动注册 1. 扫描所有应用下的注册了应用中的ad ...

  4. 第七章 Rolling update

    7.1 实践 apiVersion: apps/v1beta1 kind: Deployment metadata: name: httpd spec: replicas: 3 template: m ...

  5. 【翻译】用 Expression Blend 创建酷炫的 Button

    原文:Creating “Cool” Buttons with Expression Blend Author: Alex 在本文中,我们将考虑在Expression Blend用几种方法来创建酷炫的 ...

  6. REST理解

    内容摘自:<Spring REST> REST是什么:REST是一种软件架构风格,它由建立规模可扩展的web服务的最佳实践和指南构成. 资源: 一切可被访问和操作的东西.资源标识:URI( ...

  7. python json.dumps() 中文乱码问题

    python json.dumps() 中文乱码问题   python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成as ...

  8. 【转】C#中Func与Action的理解

    原文地址:https://www.cnblogs.com/ultimateWorld/p/5608122.html Action 与 Func是.NET类库中增加的内置委托,以便更加简洁方便的使用委托 ...

  9. Jquery.Ajax的使用方法

    1.Get $('.manager_republish.notVIP').click(function () { $.ajax({ async: false, type: "get" ...

  10. <转>Linux环境进程间通信(五): 共享内存(下)

    http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index2.html 系统调用mmap()通过映射一个普通文件实现共享内存.系统V则是通 ...