认识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. Jquery学习小计

    实时监听输入框值变化 首先创建Jquery.fn扩展 jQuery.fn.extend({ inputChange: function(callback){ if($.support.leadingW ...

  2. java代码----------计算器代码

    总结: 很多不完善—— package com.rue; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.a ...

  3. if、while中变量的作用域问题

    我们知道,函数.类会改变当前变量的作用域.if,while等分支循环结构会继承外部作用域,即外部变量对分支循环结构内部可见. 但是C语言不支持if,while等分支循环结构内部作用域对外可见,而PHP ...

  4. python学习(二十三) String(下) 分片和索引

    分片: 记住, 是开闭区间. a = "abcdef"print(a[:])print(a[1:])print(a[:3])print(a[-2])print(a[:-2])pri ...

  5. MySQL 存储引擎、锁、调优、失误与事务回滚、与python交互、orm

    1.存储引擎(处理表的处理器) 1.基本操作 1.查看所有存储引擎 mysql> show engines; 2.查看已有表的存储引擎 mysql> show create table 表 ...

  6. SpringMVC传统风格控制器和基于注解的控制器

    SpringMVC的DispatcherServlet 之前说过springMVC是使用Servlet作为控制器,就是这个用于调度的DispatcherServlet了.这个是servlet,可以根据 ...

  7. nginx代理socket tcp/udp

    准备一台linux服务器.nginx官网:http://nginx.org/ .在网上搜到大致用的是 ngx_stream_core_module 这个模块,这里你也可以关注一下官方文档中的其他模块都 ...

  8. zookeeper的概念和基础

    1.1ZooKeeper的使命 当开发人员使用ZooKeeper进行开发时,开发人员设计的那些应⽤往往可以看成成组连接到ZooKeeper服务器端的客户端,它们通过ZooKeeper的客户端API连接 ...

  9. AMF_OBJECT 数据结构浅析

    组织的比较散,主要是标记一下有关 AMF_OBJECT 数据组织结构.其标识嵌套结束则为 0x 00 00 09 原始数据结构已知: key=“0123456”: Value 的值是一个结构体如下: ...

  10. Rust 初始配置

    学习 Rust 初始配置 运行环境:Window7 64bit,Rust nightly 1.23; 作者:乌龙哈里 2017-10-15 参考: Rust 中文教程 Rust 官方网站 Rust G ...