一、前端开发工具

1. Node.js

​ Node.js是一个基于Chrome v8引擎的JavaScript运行环境。JavaScript本来只能跑在浏览器上,然后Node.js就是一种能让js直接运行在操作系统的工具。并且他就能让JS代码在操作系统上实现一些类似的操作等功能。Node.js使用了一个事件驱动、非阻塞I/O的模型,使其轻量又高效。

2. npm介绍

​ npm是JavaScript世界的包管理工具,并且是Node.js平台的默认包管理工具。(类似python中的pip一样)

(1) 基本命令
// 更新npm至最新的稳定版本
npm install npm@latest -g // 安装第三方包,会在当前目录下创建一个node_modules的目录,然后下载的包保存至此
npm install 包名 // -g 全局安装包、并且 @ 制定版本
npm install bootstrap@3.3.7 -g // 安装开发阶段使用的包(有些包只在开发阶段使用,实际生产环境下运行并不需要)
// (比如:代码格式化工具、代码打包工具等)
npm install 包名 -D // 卸载包
npm uninstall 包名 // 更新包
npm update 包名 // 查看已安装的包
npm list
(2) 初始化一个新项目
// 在你的项目目录下,执行以下命令来初始化你的项目。(会出现很多选项让你填写)
npm init
// 该命令会在当前目录下创建一个名为package.json的文件,里面记录该项目的一些介绍
// 信息和包的依赖信息
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
} // 使用默认配置初始化项目
npm init -y 或 npm init --yes
(3) 使用cnpm
// 因为连接国外服务器较慢,可使用国内淘宝团队的镜像源,安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org //使用cnpm;save 把依赖包的名称和版本写到我项目的依赖信息里
cnpm install bootstrap@3.3.7 --save

3. webpack介绍

(1) 定义

前端开发的一个坑在于浏览器加载JS文件的时候是从上到下,不存在模块化这样一个概念的。我们很正常的会把实现不同功能的代码保存在不同的JS文件中,这些JS文件之间传递变量只能通过定义全局变量,这样我们用到的JS文件越多,暴露的全局变量就越多,越容易出现变量被覆盖的隐患。

node.js出现后,我们的JS文件可以直接跑在操作系统上,并在node.js中支持模块化的JS。它通过定义输入和输出来解决不同模块间的数据传递问题。这里就类似于python中的包的概念。

现在前端开发都习惯在后端先写代码,利用后端开发模块化的方式来解决上面JS历史遗留问题。但这样写JS文件浏览器就不认识了。

(2) 解决浏览器认识后端写的JS文件 —— webpack

webpack就是一个把我们在后端写的JS代码打包成浏览器认识的JS文件(当然webpack很强大它可以打包JS、CSS、图片等静态资源)

(3) webpack安装
// 安装webpack和webpack-cli
npm install webpack webpack-cli -g -D // 查看webpack和webpack-cli的版本
webpack -V
webpack-cli -V
(4) 示例
// a.js
let abc = 'hq';
function sayHi(){
console.log('Hello world!');
}
// 抛出sayHI
module.exports = {sayHi}
// b.js
// 从a.js导入sayHi
let {sayHi} = require('./a.js')
sayHi() // Hello world!
// 使用webpack打包;默认输出打包后的结果到./dist/main.js
webpack ./src/b.js

注意:新版本的webpack需要搭配webpack-cli一起使用

4. Vue-cli

​ vue-cli是一个Vue官方提供的快速构建Vue项目的脚手架工具,能够极大的提高开发效率。

// Vue-cli安装
npm install -g @vue/cli // 创建一个Vue-cli项目
vue create hello-world // vue-cli图形界面创建项目
vue ui // vue-cli项目启动,需要先切换至vue-cli项目目录下
npm run serve //vue-cli项目打包
npm run build
(1) 项目目录解释

(2) 补充 - 拿到一个vue项目,把它运行起来

① 先切换到项目目录下

② 安装项目依赖包

npm install 或者 cnpm install

③ 启动项目

npm run serve 或者 npm run dev

④项目开发完成,要打包上线

npm run build

9. Vue - vue-cli的更多相关文章

  1. Javascript - Vue - vue对象

    vue提供了一整套前端解决方案,可以提升企业开发效率 vue的处理过程 app.js 项目入口,所有请求最先进入此模块进行处理 route.js 由app.js调用,处理路由的分发 controlle ...

  2. Vue - vue.js 常用指令

    Vue - vue.js 常用指令 目录: 一. vuejs模板语法之常用指令 1. 常用指令: v-html 2. 常用指令: v-text 3. 常用指令: v-for 4. 常用指令: v-if ...

  3. 前端开发 Vue Vue.js和Nodejs的关系

    首先vue.js 是库,不是框架,不是框架,不是框架. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. Vue.js 的核心是一个允许你 ...

  4. [Vue] : Vue概述

    什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架. Vue.js 是前端的主流框架之一,和Angular.js.React.js 一起,并成为前端三大主流框 ...

  5. Property 'validate' does not exist on type 'Element | Element[] | Vue | Vue[]'. Property 'valid...

    使用vue-cli 3.0+Element-ui时候,调用form表单校验时候出现的问题是: Property 'validate' does not exist on type 'Element | ...

  6. Vue Vue.use() / Vue.component / router-view

    Vue.use Vue.use 的作用是安装插件 Vue.use 接收一个参数 如果这个参数是函数的话,Vue.use 直接调用这个函数注册组件 如果这个参数是对象的话,Vue.use 将调用 ins ...

  7. vue & vue router & dynamic router

    vue & vue router & dynamic router https://router.vuejs.org/guide/essentials/dynamic-matching ...

  8. vue & vue router & match bug

    vue & vue router & match bug match bugs solution name must be router https://stackoverflow.c ...

  9. vue之cli脚手架安装和webpack-simple模板项目生成

    ue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. GitHub地址是:https://github.com/vuejs/vue-cli 一.安 ...

  10. vue搭建cli脚手架环境(出现问题及解决,主要是node版本低)

    Vue 提供了一个官方的cli,为单页面应用 (SPA) 快速搭建繁杂的脚手架. 一.vue cli脚手架 脚手架通过webpack搭建开发环境 使用ES6语法 打包压缩js为一个文件 项目文件在环境 ...

随机推荐

  1. HttpRunner学习2--用例格式和简单使用

    前言 HttpRunner中,测试用例支持两种文件格式:YAML 和 JSON.两种格式的用例是完全等价的,对于相同的信息内容,使用 YAML /JSON 得到的测试结果和报告也是一致的. 本人环境: ...

  2. Prometheus学习系列(五)之Prometheus 规则(rule)、模板配置说明

    前言 本文来自Prometheus官网手册1.2.3.4和 Prometheus简介1.2.3.4 记录规则 一.配置规则 Prometheus支持两种类型的规则,这些规则可以定期配置,然后定期评估: ...

  3. How to: Calculate a Property Value Based on Values from a Detail Collection 如何:基于详细信息集合中的值计算属性值

    This topic describes how to implement a business class, so that one of its properties is calculated ...

  4. JavaScript for 、for...of 、for...in 等 iteration 效率测试

    由于不同浏览器,不同版本性能不一,且控制台本质是是套用了一大堆eval,沙盒化程度高,所以需使用node环境测试来提高准确性 // 准备待测数组 const NUM = 1e7; let arr = ...

  5. Dynamics 365利用Web API对视图进行查询

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. Mac环境下执行npm install报权限错误解决办法

    1. 一般情况 sudo npm install 注:这相当于windows系统中的 以管理员身份执行,加上sudo后会要求你输入苹果账号密码,而且在输入的时候是没有字符提示的,密码输入完直接按回车就 ...

  7. Vant-Weap通过事件获取值

    van-field框的使用 和通过事件获取值 <van-cell-group> <van-field value="{{username}}" label=&qu ...

  8. csp2019后的感慨

    你还记得曾经加入oi的初衷吗? ... 我们都不想输,可谁都没有赢... --前言 没有太大的感想,也不配去写感想...就记录一下初学者失败的原因吧.希望看过的人能引以为戒. 做题的时候,不到万不得已 ...

  9. Laravel 即时应用的一种实现方式

    即时交互的应用 在现代的 Web 应用中很多场景都需要运用到即时通讯,比如说最常见的支付回调,与三方登录.这些业务场景都基本需要遵循以下流程: 客户端触发相关业务,并产生第三方应用的操作(比如支付) ...

  10. AES 对称加密

    package com.skynet.rimp.common.utils.string; import java.io.UnsupportedEncodingException; import jav ...