Web开发-基础环境配置

2023-10-26

Web开发-基础环境配置

回炉再造!2021 Vue3.0 前端全家桶学习笔记

web前端职业发展路线

技术范围广,发展速度快,兼容浏览器众多:

  • 核心技术:html css JavaScript(BOM、DOM)
  • 新的技术:html5 css3 ES6
  • 旧框架:jQuery直接操作DOM、BootStrap
  • 新框架:虚拟DOM,Vue、React、AngularJS、微信小程序、WebAPP;
  • 还需要了解一定的Nodejs

通用工具:

  • NPM:包管理器
  • WebPack:打包工具
  • ES6:更高效的语法,相较于ES5变化较大;
  • axios:异步请求,结合了promise等ES6语法;

npm

内容:

  • 认识npm
  • 安装npm
  • 使用npm工具 管理包
  • 了解package.json文件
  • package.json文件详解
  • 模块的基本应用
  • npm和yarn的对比和迁移

npm安装

node的包管理器,是Nodejs默认的、以JavaScript编写的软件包管理系统;使用npm来分享和使用代码已经成了前端的标配;可以有效的解决包之间的依赖;

前端静态资源库:可以用来查询安装方式和CDN链接;

npm本身也是基于Nodejs开发的软件,安装完Node后,会默认安装好npm;

npm -v

npm install npm -g // 重新安装npm -g 全局安装后 任意文件夹都可以使用
npm uninstall xxx


cd 指定项目目录
npm install xxx // 当前目录 局部安装

dir // 查看当前目录(window命令)
ls

默认使用地址是国外的,可以使用国内镜像源 清华镜像 淘宝镜像等,可以提高下载速度:

// 查看镜像的配置结果
npm config get registry 
npm config get disturl


// 搭建环境时,将npm设置成淘宝镜像
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

// 设置当前地址(设置为默认的国外地址)
npm config set registry https://registry.npmjs.org/


// 可以使用淘宝定制的cnpm命令行工具代替默认的npm;
npm install -g cnpm --registry=https://registry.npm.taobao.org


// 使用nrm工具切换淘宝源
npx nrm use tabobao
// 如果之后需要切换回官方源 可使用
npx nrm use npm

npm使用

npm -v // 查看版本 判断npm安装与否
npm install xxx // 安装模块
npm install xxx -g // 全局安装 可以直接在命令行里使用
npm list -g // 查看所有全局安装的模块
npm list vue // 查看某个模块(如vue)的版本号
npm -g install npm@5.9.1 // 更新npm到指定版本
npm install -save xxx // -save可以在package文件的dependencies节点写入依赖
npm install -save-dev xxx // -save-dev会在package的devDependencies节点写入依赖

npm uninstall xxx // 卸载
npm update xxx // 默认更新到最新版本

dependencies节点下的依赖,表示运行时依赖,即生产环境下还需使用的模块;

devDependencies节点下的依赖,表示开发时的依赖,里边的模块是开发时用的,发布时用不到;如自动化构建工具gulp以及压缩css、js等的模块,这些在项目部署后是不需要的;

在package.json目录 执行npm install默认会更具配置文件中的dependencies、devDependencies节点信息进行包的初始化模块安装;

package.json配置文件属性解析

name // 包名
version // 包的版本
description // 包的描述
homepage // 包的官网url
author // 包的作者姓名
contributors // 包的其他贡献者姓名
dependencies // 依赖包列表,如果依赖包没有安装,npm会自动将依赖包安装在node_module目录下
repository // 包代码存放的地方的类型,可以是git或svn
main // 指定程序的入口文件,require('moduleName')会加载这个文件;这个字段的默认值是模块根目录下的index.js
keywords // 关键字

关于package.json中配置版本号的说明

  • 5.0.1,表示安装包的指定版本
  • ~5.0.3,表示安装5.0.x中的最新版本
  • ^5.0.3,表示安装5.x.x中的最新版本

使用npm init --yes命令会默认生成一个package.json的配置文件,我们可以在这个基础之上继续进行修改;

{
   
  "name":"xxx",
  "version":"1.0.1",
  "description":"something",
  "main":"index.js",
  "scripts":{
   
    "test":"ls"
  },
  "repository":{
   
    "type":"git",
    "url":"git"
  },
  "keyword":[
    "edu",
    "work",
    "vue",
    "react"
  ],
  "author":"xxx",
  "license":"MIT"
}

包的使用

npm常用命令:(nodejs相关)

  • 使用npm help可以查看所有命令,如 install 和 publish;
  • 使用npm help <command>可以查看某条命令的详细帮助,如npm help install
  • npm update <package> 更新当前目录node_modules子目录下对应的模块到最新版本
  • npm update <package> -g 可以把全局安装的对应命令行程序更新至最新版本
  • 使用npm cache clear 可以清空NPM本地缓存,用于对付使用相同版本号发布新版本的人
  • 使用npm unpublish <package>@<version> 可以撤销自己发布过的某个版本的代码
  • 在package.json所在目录使用 npm install . -g 可先在本地安装当前命令行程序,可用于发布前的本地测试;

包的使用:

  • 通过命令行 使用 npm 下载和更新包;
  • 没用webpack前,需要搜索整个 node_modules目录来定位包的路径,继而添加到html中;

大多数编程语言都会提供一个文件导入另一个文件代码的机制;但是,js在最初设计时并没有这个特性,因为js原本只是为了在浏览器端运行而设计的,并没有权限获取计算机客户端的文件系统(处于安全考虑);所以很长一段时间以来,组织多个文件的js代码就是把每个文件下载下来,变量是全局共享的;

  • CommonJS中很大一部分便是对模块系统的规范
    • 使用require语句导入包;
    • 新的ES6可以使用import导入包;
// index.js
const $ = require('jquery')
$.ajax...

// test.js
module.exports = 100;

// index.js
let num = require('./test.js');
num;

ES6兼容性解决

  • 兼容表:http://kangax.github.io/compat-table/es6/
  • 支持:IE10+、Chrome、FireFox、移动端、NodeJS
  • 兼容低版本浏览器:
    • 在线转换(这种编译会加大页面渲染时间),通过在html中加载一些工具包
    • 提前编译(强烈建议这种方式,不影响浏览器渲染时间)
  • 比较通用的兼容性问题解决方案有 babel、jsx、traceur、es6-shim等;

在线转换:

<!-- 在线装换举例:可在不兼容的浏览器上正常运行,如ie9 -->
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <script src="https://lib.baomitu.com/babel-core/5.8.38/browser.js"></script>
</head>
<body>
<script type="text/babel">
  const name = "learn"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web开发-基础环境配置 的相关文章

  • Layui富文本编辑器图片上传接口(.NET C#)

    本来想偷懒找个现成的接口 搜了一下发现没有现成的 那我在这写一个并分享给大家吧 demo打包好了在我的csdn下载中心 http download csdn net download xianglikai1 9970000 下面也有代码和结
  • 2020web前端面试整理

    背景 2020年是比较特殊的一年 由于新冠影响导致很多事情发生了变化 同时也改变了人们的一些常规习惯 就拿换工作来说 为了减少大家的出行和接触 线上视频 电话面试成了趋势 但是万变不离其宗 技术才是王道 下面是个人近期的一些面试经验和需要大
  • WAMP环境隐藏PHP文件实际路径和后缀名

    有时候做客户端开发阶段得测试 需要一个模拟服务器的环境 我使用得最顺手得还是WAMP环境 后台给出的api接口的路径千奇百怪 在WAMP环境中如何模拟这些路径呢 如何将某个路径下的PHP文件映射到另一个URL路径下并隐藏PHP文件后缀呢 在
  • web前端面试题整理(前端和计算机相关知识)

    1 你能描述一下渐进增强和优雅降级之间的不同吗 定义 优雅降级 graceful degradation 一开始就构建站点的完整功能 然后针对浏览器测试和修复 渐进增强 progressive enhancement 一开始只构建站点的最少
  • Bootstrap3 多个模态对话框无法显示的问题

    今天帮同事调了一个代码 他们的项目最近在用Bootstrap做开发 突然间 他遇到了一个奇怪的问题 如果一个页面中 有多个Modal对话框的话 排列在第一个的对话框 能够正确显示 第二个 只能导致页面出现MASK层 却不能显示Dialog
  • 在JavaScript的ES5版本中Array数组的reduce方法详解

    函数声明 reduce callback initialValue 参数说明 callback 回调函数 格式为function prev next initialValue 初始值 可选参数 返回值 最后一次执行callback 回调函数
  • VUE element-ui之el-popover弹出框在局部全屏下不显示问题及弹框、小箭头背景修改

    问题 局部全屏后el popover弹出框失效 解决方法
  • web前端笔记:html5的标签

    在HTML4 01中 lt b gt lt i gt 是视觉要素 presentationl elements 分别表示无意义的加粗 无意义的斜体 表现样式为 font weight bolder 仅仅表示 这里应该用粗体显示 或者 这里应
  • Web启动项目走Https协议(Webpack版,Umi版和Host代理版)

    需求 Web项目的启动 一般是默认的http协议 在某些业务需求时 需要走https来调试 Webpack版本 只需在webpack的devServer中配置就可以了 devServer host 0 0 0 0 port 8080 htt
  • 父容器display:flex后,子元素的内部元素height:100%无效解决方法

    父容器display flex后 子元素的内部元素height 100 无效解决方法 解救办法 父类容器position relative 子元素 position absolute width 100 height 100 效果图 代码如
  • javaweb前后台交互传递数据的几种方法

    前端传后台 form表单传递
  • 问题解决:io.lettuce.core.RedisCommandTimeoutException: Command timed out after

    环境 spring boot starter 2 x 和 sprig data starter data redis 2 x 在使用 connection bRPop timeout rawKey 方法时 如果这里的timeout大于spr
  • 2021前端开发面试题:面试中该如何与HR谈薪资?

    问题 面试中该如何与HR谈薪资 解析 HR与你谈论薪资经常有如下套路 HR 您期望的薪资是多少 你 25K OK 你已经被HR成功套路 这个时候你的最高价就是25K了 然后HR会顺着这个价往下砍 所以你最终的薪资 般都会低于25K 等你接到
  • (一)软件架构概述

    1 系统结构 B S架构 Browser Server 浏览器 服务器的交互形式 Browser支持哪些语言 HTML CSS JavaScript 写HTML CSS JavaScript代码的这波人职位叫做 WEB 前端开发工程师 Ja
  • 浅析赋值、浅拷贝、深拷贝的区别

    1 原理 赋值 将某一对象赋给某个变量的过程 称为赋值 浅拷贝 浅拷贝是创建一个对象 这个对象有着原始对象属性值的一份精准拷贝 如果属性是基本类型 拷贝的就是基本类型的值 如果属性是引用类型 拷贝的就是内存地址 如果其中一个对象改变了这个地
  • Jquery ligerui下拉框复选,使下拉框中相应值对勾选中

    othertypeCombox ligerGetComboBoxManager selectValue 1 2 3 4 othertypeCombox ligerGetComboBoxManager bulidContent 必须加上后一行
  • 谷歌(Chrome)浏览器自定义插件

    准备 1 js文件 需要的功能逻辑 2 插件主入口及配置 manifest json 3 插件图标 目录结构 添加插件流程 选择插件文件夹 代码 manifest json name 百度 manifest version 2 versio
  • MVC三层架构

    1 MVC三层架构 MVC Model View Controller 是一种常见的软件设计模式 用于组织和管理应用程序的代码和逻辑 它将应用程序分为三个主要部分 模型 Model 视图 View 和控制器 Controller 每个部分都
  • React 笔记 jsx

    严格约定 React 组件必须以 大写字母开头 而 HTML 标签则必须是小写字母 React JSX JSX 是由 React 推广的 JavaScript 语法扩展 用于表达组件的 特殊语法的 js 函数 要求标签必须闭合 返回的组件必
  • 第8章 多媒体嵌入

    学习目标 了解视频 音频嵌入技术 能够总结HTML5视频 音频嵌入技术的优点 了解常用的视频文件格式和音频文件格式 能够归纳HTML5支持的视频和音频格式 掌握HTML5中视频的嵌入方法 能够在HTML5页面中添加视频文件 掌握HTML5中

随机推荐

  • selenium中键盘操作:Keys类

    一 前言 selenium提供了比较完整的键盘操作 在使用的模拟键盘操作之前需要我们导入Keys类 from selenium webdriver common keys import Keys 二 常用的非组合键操作 1 回车键 Keys
  • python循环综合运用

    循环很重要 计算机很蠢 唯一的优势就是按照指令不停的执行 所以决定在说一下 break语句 用在循环体中 迫使循环立即终止 即跳出所在循环体 继续执行循环体后面的语句 sum 0 i 1 while i sum i i 1 if i gt
  • 生成随机mask以及根据mask对两幅图片进行合并

    前言 对图像处理的一些操作还是需要掌握的嘿嘿 随机mask生成 这里代码参考MAT的一份代码 https github com fenglinglwb MAT blob main datasets mask generator 256 py
  • 机器人学基础(2)-微分运动和速度-雅可比矩阵计算、雅可比矩阵求逆、计算关节运动速度

    机器人学基础 2 微分运动和速度 雅可比矩阵计算 雅可比矩阵求逆 计算关节运动速度 本文知识点 坐标系的微分运动 坐标系之间的微分变化 机器人和机器人手坐标系的微分运动 雅可比矩阵的计算 雅可比矩阵求逆 雅可比矩阵和微分算子之间的关联 文章
  • flea-db使用之JPA接入

    JPA接入 1 准备工作 2 接入讲解 2 1 实体类 2 2 持久化单元DAO层实现 2 3 配置介绍 2 4 学生DAO层接口 2 5 学生DAO层实现 2 6 学生SV层接口 2 7 学生SV层实现 2 8 JPA接入自测 2 8 1
  • Pycharm连接Mysql数据库

    import pandas as pd import pymysql from sqlalchemy import create engine 创建一个Mysql连接器 用户名为root 密码123456 地址为127 0 0 1 数据库名
  • 游戏开发日志17(保存技能树信息)

    最开始的想法是这样的 在GameManage中写一个public List
  • 剑指 Offer 50. 第一个只出现一次的字符(C++实现)

    剑指 Offer 50 第一个只出现一次的字符https leetcode cn problems di yi ge zhi chu xian yi ci de zi fu lcof 遍历两次数组 第一次遍历 通过哈希表记录每个字母出现的次
  • CMake中configure_file的使用

    CMake中的configure file命令用于将一个文件拷贝到另一个位置并修改其内容 其格式如下 configure file
  • 微信网页开发调用微信jssdk接口遇到的坑以及最终解决方法 (持续更新)

    1 微信网页开发调用jssdk时报permission denied 大致是两个原因 1 首先注册时未将你所调用的接口名字添加至jsApiList 2 第二个就是你的这个公众号没有权限使用这个api 例如在开发环境中的微信页面就无法调取这个
  • (六)使用Transformers进行情感分析

    文章目录 准备数据 搭建模型 训练模型 推断 完整代码 在本笔记本中我们将使用在本 论文中介绍的Transformer模型 具体来说 我们将使用来自这篇 论文中的BERT Bidirectional Encoder Representati
  • 《KyLin学习理解》-01-KyLin麒麟的简介及其思想

    1 美图 1 诞生背景 HIVE是数据仓库 是把存储在HDFS分布式文件系统的存储文件映射到类似于关系型数据库的东西 举个例子 假设有一个文件存储在本地 opt hzjs lcc work pro txt文件 文件的格式为 1 产品120
  • html 单选打勾效果,checkbox 实现单选效果(html)

    note 在html 标签类中的checkbox实现单选效果 在最近的开发项目中 客户要求使用小方格子实现 单选 功能 显然圆点的radio被out了 只能选择chckbox的方块样式 也在网上搜过 可能有点儿脑残 没有找到 废话不多说直接
  • c++网络编程3:UDP编程

    一 概念 UDP是传输层中面向无连接的协议 所以UDP丢包后是不会重传的 而且他在编程上服务端和客户端是没有区别的 有的只是 虚拟上 的服务端和客户端 他在编程的实现上也很简单 不像TCP那么复杂 二 UDP终端的编程 由于UDP在服务端和
  • 不同型号服务器esxi,如果管理多个esxi服务器

    如果管理多个esxi服务器 没有 装一个vcenter吧 可以集中管理 多台服务器之间还可以做双机热备等功能 很好用 至于注册序列号 你漫天都是 你可以把分数拉高一点 我送给你一个 哈哈 如何给esxi搭建ntp服务器 提在ESX ESXi
  • Windows系统的JDK安装与配置

    1 选择JDK版本 以在Windows 64位平台上安装JDK 8版本为例 JDK 8 Windows版官网下载地址 https www oracle com java technologies downloads java8 window
  • Redis的安装

    环境 用的Linux系统阿里云服务器 1 在redis官网下载最新稳定版的安装包 官网网址 https redis io 2 下载完的安装包通过Xftp上传到 opt目录下 3 连接上远程服务器60 205 189 176端口22 输入下面
  • 离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

    林伟 阿里云智能研究员 阿里云智能通用计算平台MaxCompute 机器学习PAI平台技术负责人 本篇内容将从三个部分为读者讲述离线实时一体化数仓与湖仓一体 云原生大数据平台的持续演进 通过从数据湖到数仓的历史 反思为什么要做湖仓一体 以及
  • 向“全栈”进发,大型线上商城实战项目,Spring Boot + Vue 前后端分离版本的商城来了(文末有视频)

    新蜂商城 Vue 版本 它来了 文末有视频 如上图所示 新蜂商城 Vue 版本已经开发完成 这是新蜂商城开源项目的第一个大版本更新 根据大量的用户调研 最终决定将新蜂商城升级为 Spring Boot Vue 两个流行技术栈的前后端分离商城
  • Web开发-基础环境配置

    Web开发 基础环境配置 回炉再造 2021 Vue3 0 前端全家桶学习笔记 web前端职业发展路线 技术范围广 发展速度快 兼容浏览器众多 核心技术 html css JavaScript BOM DOM 新的技术 html5 css3