当前位置: 首页 > news >正文

Vue项目搭建过程

Vue项目搭建过程

1、安装NodeJs

1.1 下载安装包

http://nodejs.cn/download/ 上下载64位安装包,然后进行安装,和普通软件的安装一样。

C:\Users\Administrator>node -v
v16.13.1C:\Users\Administrator>npm -v
8.5.5
1.2 安装cnpm
# 安装cnpm
C:\Users\Administrator>npm install cnpm -gadded 171 packages, removed 378 packages, and changed 281 packages in 18s11 packages are looking for fundingrun `npm fund` for details
npm notice
npm notice New minor version of npm available! 8.5.5 -> 8.15.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.15.1
npm notice Run npm install -g npm@8.15.1 to update!
npm notice
# 查看cnpm的版本
C:\Users\Administrator>cnpm -vcnpm@8.2.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\lib\parse_argv.js)
npm@8.15.1 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npm\index.js)
node@16.13.1 (C:\zsxsoftware\nodejs\node.exe)
npminstall@6.5.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npminstall\lib\index.js)
prefix=C:\Users\Administrator\AppData\Roaming\npm
win32 x64 10.0.19042
registry=https://registry.npmmirror.com
1.3 安装 vue-cli
# 安装vue-cli
C:\Users\Administrator>cnpm install vue-cli -g(node:16924) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Downloading vue-cli to C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli_tmp
Copying C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli_tmp\_vue-cli@2.9.6@vue-cli to C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli
Installing vue-cli's dependencies to C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli/node_modules
[1/20] uid@0.0.2 installed at node_modules\_uid@0.0.2@uid
[2/20] commander@^2.9.0 installed at node_modules\_commander@2.20.3@commander
[3/20] semver@^5.1.0 installed at node_modules\_semver@5.7.1@semver
[4/20] coffee-script@1.12.7 installed at node_modules\_coffee-script@1.12.7@coffee-script
[5/20] user-home@^2.0.0 installed at node_modules\_user-home@2.0.0@user-home
[6/20] tildify@^1.2.0 installed at node_modules\_tildify@1.2.0@tildify
[7/20] validate-npm-package-name@^3.0.0 installed at node_modules\_validate-npm-package-name@3.0.0@validate-npm-package-name
[8/20] multimatch@^2.1.0 installed at node_modules\_multimatch@2.1.0@multimatch
[9/20] minimatch@^3.0.0 installed at node_modules\_minimatch@3.1.2@minimatch
[10/20] read-metadata@^1.0.0 installed at node_modules\_read-metadata@1.0.0@read-metadata
[11/20] chalk@^2.1.0 installed at node_modules\_chalk@2.4.2@chalk
[12/20] consolidate@^0.14.0 installed at node_modules\_consolidate@0.14.5@consolidate
[13/20] rimraf@^2.5.0 installed at node_modules\_rimraf@2.7.1@rimraf
[14/20] ora@^1.3.0 installed at node_modules\_ora@1.4.0@ora
[15/20] metalsmith@^2.1.0 installed at node_modules\_metalsmith@2.5.0@metalsmith
[16/20] request@^2.67.0 installed at node_modules\_request@2.88.2@request
[17/20] handlebars@^4.0.5 installed at node_modules\_handlebars@4.7.7@handlebars
[18/20] download-git-repo@^1.0.1 installed at node_modules\_download-git-repo@1.1.0@download-git-repo
[19/20] async@^2.4.0 installed at node_modules\_async@2.6.4@async
[20/20] inquirer@^6.0.0 installed at node_modules\_inquirer@6.5.2@inquirer
execute post install 1 scripts...
[1/1] scripts.postinstall metalsmith@^2.1.0 run "node metalsmith-migrated-plugins.js", root: "C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\vue-cli\\node_modules\\_metalsmith@2.5.0@metalsmith"
[1/1] scripts.postinstall metalsmith@^2.1.0 finished in 106ms
deprecate request@^2.67.0 request has been deprecated, see https://github.com/request/request/issues/3142
deprecate coffee-script@1.12.7 CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
deprecate request@2.88.2 › har-validator@~5.1.3 this library is no longer supported
deprecate request@2.88.2 › uuid@^3.3.2 Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
All packages installed (228 packages installed from npm registry, used 5s(network 5s), speed 1.18MB/s, json 217(1.01MB), tarball 4.64MB, manifests cache hit 0, etag hit 0 / miss 0)
[vue-cli@2.9.6] link C:\Users\Administrator\AppData\Roaming\npm\vue@ -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli\bin\vue
[vue-cli@2.9.6] link C:\Users\Administrator\AppData\Roaming\npm\vue-init@ -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli\bin\vue-init
[vue-cli@2.9.6] link C:\Users\Administrator\AppData\Roaming\npm\vue-list@ -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\vue-cli\bin\vue-list
1.4 安装webpack
# 安装webpack
C:\Users\Administrator>cnpm install webpack -g(node:13296) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Downloading webpack to C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack_tmp
Copying C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack_tmp\_webpack@5.74.0@webpack to C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack
Installing webpack's dependencies to C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack/node_modules
[1/24] chrome-trace-event@^1.0.2 installed at node_modules\_chrome-trace-event@1.0.3@chrome-trace-event
[2/24] graceful-fs@^4.2.9 installed at node_modules\_graceful-fs@4.2.10@graceful-fs
[3/24] glob-to-regexp@^0.4.1 installed at node_modules\_glob-to-regexp@0.4.1@glob-to-regexp
[4/24] loader-runner@^4.2.0 installed at node_modules\_loader-runner@4.3.0@loader-runner
[5/24] @types/estree@^0.0.51 installed at node_modules\_@types_estree@0.0.51@@types\estree
[6/24] acorn-import-assertions@^1.7.6 installed at node_modules\_acorn-import-assertions@1.8.0@acorn-import-assertions
[7/24] acorn@^8.7.1 installed at node_modules\_acorn@8.8.0@acorn
[8/24] json-parse-even-better-errors@^2.3.1 installed at node_modules\_json-parse-even-better-errors@2.3.1@json-parse-even-better-errors
[9/24] es-module-lexer@^0.9.0 installed at node_modules\_es-module-lexer@0.9.3@es-module-lexer
[10/24] watchpack@^2.4.0 installed at node_modules\_watchpack@2.4.0@watchpack
[11/24] events@^3.2.0 installed at node_modules\_events@3.3.0@events
[12/24] mime-types@^2.1.27 installed at node_modules\_mime-types@2.1.35@mime-types
[13/24] tapable@^2.1.1 installed at node_modules\_tapable@2.2.1@tapable
[14/24] webpack-sources@^3.2.3 installed at node_modules\_webpack-sources@3.2.3@webpack-sources
[15/24] enhanced-resolve@^5.10.0 installed at node_modules\_enhanced-resolve@5.10.0@enhanced-resolve
[16/24] @types/eslint-scope@^3.7.3 installed at node_modules\_@types_eslint-scope@3.7.4@@types\eslint-scope
[17/24] neo-async@^2.6.2 installed at node_modules\_neo-async@2.6.2@neo-async
[18/24] eslint-scope@5.1.1 installed at node_modules\_eslint-scope@5.1.1@eslint-scope
[19/24] @webassemblyjs/wasm-edit@1.11.1 installed at node_modules\_@webassemblyjs_wasm-edit@1.11.1@@webassemblyjs\wasm-edit
[20/24] @webassemblyjs/ast@1.11.1 installed at node_modules\_@webassemblyjs_ast@1.11.1@@webassemblyjs\ast
[21/24] @webassemblyjs/wasm-parser@1.11.1 installed at node_modules\_@webassemblyjs_wasm-parser@1.11.1@@webassemblyjs\wasm-parser
[22/24] schema-utils@^3.1.0 installed at node_modules\_schema-utils@3.1.1@schema-utils
[23/24] terser-webpack-plugin@^5.1.3 installed at node_modules\_terser-webpack-plugin@5.3.3@terser-webpack-plugin
[24/24] browserslist@^4.14.5 installed at node_modules\_browserslist@4.21.3@browserslist
anti semver @types/eslint-scope@3.7.4 › @types/estree@* delcares @types/estree@*(resolved as 1.0.0) but using ancestor(root package.json)'s dependency @types/estree@^0.0.51(resolved as 0.0.51)
anti semver @types/eslint-scope@3.7.4 › @types/eslint@8.4.5 › @types/estree@* delcares @types/estree@*(resolved as 1.0.0) but using ancestor(root package.json)'s dependency @types/estree@^0.0.51(resolved as 0.0.51)
All packages installed (76 packages installed from npm registry, used 2s(network 2s), speed 2.18MB/s, json 75(1.32MB), tarball 2.31MB, manifests cache hit 0, etag hit 0 / miss 0)
[webpack@5.74.0] link C:\Users\Administrator\AppData\Roaming\npm\webpack@ -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js
# 查看webpack的版本
C:\Users\Administrator>webpack -v
webpack: 5.74.0
webpack-cli: 4.10.0
webpack-dev-server not installed
1.5 安装webpack-cli
# 安装webpack-cli
C:\Users\Administrator>npm install webpack-cli -gadded 117 packages in 6s
# 查看webpack-cli的版本
C:\Users\Administrator>webpack-cli -v
webpack: 5.74.0
webpack-cli: 4.10.0
webpack-dev-server not installed
# 查看模板
C:\Users\Administrator>vue listAvailable official templates:★  browserify - A full-featured Browserify + vueify setup with hot-reload, linting & unit testing.★  browserify-simple - A simple Browserify + vueify setup for quick prototyping.★  pwa - PWA template for vue-cli based on the webpack template★  simple - The simplest possible Vue setup in a single HTML file★  webpack - A full-featured Webpack + vue-loader setup with hot reload, linting, testing & css extraction.★  webpack-simple - A simple Webpack + vue-loader setup for quick prototyping.

2、新建shop-vue项目

使用 webpack 初始化项目:

$ vue init webpack shop-vue? Project name shop-vue
? Project description A Vue.js project
? Author zsx242030 <15110820283@163.com>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recommended) novue-cli · Generated "shop-vue".# Project initialization finished!
# ========================To get started:cd shop-vuenpm install (or if using yarn: yarn)npm run devDocumentation can be found at https://vuejs-templates.github.io/webpack

生成的项目结构如下:

在这里插入图片描述

然后执行 npm installnpm audit fix 安装一些相关的依赖,会生成 node_modules 目录:

在这里插入图片描述

build:项目构建(webpack)相关代码

config:配置目录,包括端口号等

node_modules :npm加载的项目依赖块

src:这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件:

assets: 放置一些图片,如logo等

components:该目录里存放的我们的开发文件组件,主要的开发文件都存放在这里了

App.vue:项目入口文件

main.js:项目的核心文件

router:路由配置目录

static:放置一些静态资源文件

.babelrc:用来设置转码的规则和插件的

.editorconfig:用于定义编码样式的文件格式和一组文本编辑器插件组成

.gitignore:这些是一些配置文件,包括语法配置,git配置等

.postcssrc.js:为了进行移动端适配,PostCss 是一个处理 CSS 的处理工具

index.html:首页入口文件

package.json:项目配置文件

README.md:项目的说明文档,markdown 格式

使用 npm run dev 启动项目,访问 http://localhost:8080

在这里插入图片描述

接下来使用开发工具打开项目:

在这里插入图片描述

对代码进行修改:

App.vue 修改为:

<template><div id="app"><router-view/></div>
</template><script>
export default {name: 'App'
}
</script><style>
</style>

main.js 修改为:

import Vue from 'vue'
import App from './App'
import router from './router'Vue.config.productionTip = falsenew Vue({el: '#app',router,components: { App },template: '<App/>'
})

HelloWorld.vue 删除,并且在src下新建 views 文件夹, 在该文件夹下新建 Index.vue,其内容改为:

<template><div class="index"><h1>首页</h1></div>
</template><script>
export default {name: 'Index',data () {return {}}
}
</script><style scoped>
</style>

修改 src/router/index.js 为:

import Vue from 'vue'
import Router from 'vue-router'
import Index from '../views/Index'Vue.use(Router)export default new Router({routes: [{path: '/',name: 'Index',component: Index}]
})

重新访问项目:

在这里插入图片描述

至此,前端项目的框架搭建完毕,接下来编写具体的页面。

3、相关依赖

# 使用element-ui,安装element-ui
npm i element-ui -S# 前后端交互axios
npm install axios# 数据存储vuex
npm install vuex --save# 安装字体
npm install font-awesome# 安装comment
npm install commentnpm install vue-router --save-dev
npm install sass-loader node-sass --save-dev

4、npm依赖下载失败解决

# npm清空下载的包
npm cache clean --force 或者
npm cache clear --force && npm install --no-shrinkwrap --update-binary

5、错误

【npm错误】- npm ERR code ERESOLVE 和 npm ERR ERESOLVE could not resolve 问题
# 解决
npm i --legacy-peer-deps

相关文章:

Vue项目搭建过程

Vue项目搭建过程 1、安装NodeJs 1.1 下载安装包 在 http://nodejs.cn/download/ 上下载64位安装包&#xff0c;然后进行安装&#xff0c;和普通软件的安装一样。 C:\Users\Administrator>node -v v16.13.1C:\Users\Administrator>npm -v 8.5.51.2 安装cnpm # 安装cn…...

系统分析师(软考)知识点整理(一)

第一章 信息 信息是不确定性的减少 xi: n个状态中的第i个状态p(xi):出现第i个状态的概率b: b一般取值为2 特征 #mermaid-svg-pvPkY9RE5GZIIIxl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-pvPkY9RE5GZIIIxl…...

2021年数维杯国际大学生数学建模D题2021年电影市场票房波动模型分析求解全过程文档及程序

2021年数维杯国际大学生数学建模 D题 2021年电影市场票房波动模型分析 原题再现&#xff1a; 1、电影票房预测建模背景   随着人们文化消费需求的增加&#xff0c;电影院和银幕的数量不断增加&#xff0c;我国的电影产业不断呈现出繁荣景象。2019年&#xff0c;全国电影票房…...

Kubernetes 的用法和解析 -- 5

一.企业级镜像仓库Harbo 准备&#xff1a;另起一台新服务器&#xff0c;并配置docker yum源&#xff0c;安装docker 和 docker-compose 1.1 上传harbor安装包并安装 [rootharbor ~]# tar xf harbor-offline-installer-v2.5.3.tgz [rootharbor ~]# cp harbor.yml.tmpl harbor…...

HTML选择题试题——附答案

单选题 HTML的缩写是什么&#xff1f; A) Hyper Tool Markup LanguageB) Hyperlinks and Text Markup LanguageC) Hyper Text Markup LanguageD) Home Tool Markup Language 下列哪个标签用于定义文档的主体内容&#xff1f; A) <head>B) <body>C) <title>D)…...

html之CSS的高级选择器应用

文章目录 一、CSS高级选择器有哪些呢&#xff1f;二、高级选择器的应用1、层次选择器后代选择器子选择器相邻兄弟选择器通用兄弟选择器 2、结构伪类选择器&#xff08;不常用&#xff09;3、属性选择器E[attr]E[attrval]E[attr^val]E[attr$val]E[attr*val] 一、CSS高级选择器有…...

elementui+ <el-date-picker type=“datetime“/>时间组件的当前时间的180天之内的禁止选择处理

需求1如下&#xff1a;当前时间180天不可选择&#xff0c;180天之后可以选择&#xff0c;之前的时间都禁止选择 页面代码如下&#xff1a; <el-date-picker v-model"temp.expire_time" :picker-options"pickerOption" type"datetime" placeh…...

全网好听的BGM都在这里下载,赶紧收藏好了

无论是自媒体创作者还是从事视频剪辑工作的朋友&#xff0c;对于BGM的选择都很重要&#xff0c;一首适配的BGM能大大提升你作品的质量&#xff0c;还能让作品更优秀。哪里才能找到好听又免费的BGM&#xff1f;下面推荐几个我多年收藏的6个音效、音频素材网站&#xff0c;赶紧收…...

Spark编程实验一:Spark和Hadoop的安装使用

目录 一、目的与要求 二、实验内容 三、实验步骤 1、安装Hadoop和Spark 2、HDFS常用操作 3、Spark读取文件系统的数据 四、结果分析与实验体会 一、目的与要求 1、掌握在Linux虚拟机中安装Hadoop和Spark的方法&#xff1b; 2、熟悉HDFS的基本使用方法&#xff1b; 3、掌…...

代理和AOP

一:java代理 整体分为两种&#xff1a;静态代理和动态代理 静态代理&#xff1a;23种设计模式里面有个代理模式&#xff0c;那个就是静态代理。 动态代理&#xff1a;分为编译时增强(AspectJ)和运行时增强(JDK动态代理和CGLIB动态代理) 1:静态代理 这种代理在我们日常生活中其…...

Solidity-3-类型

Solidity 是一种静态类型语言&#xff0c;这意味着每个变量&#xff08;状态变量和局部变量&#xff09;都需要在编译时指定变量的类型。 “undefined”或“null”值的概念在Solidity中不存在&#xff0c;但是新声明的变量总是有一个 默认值 &#xff0c;具体的默认值跟类型相…...

【mask转json】文件互转

mask图像转json文件 当只有mask图像时&#xff0c;可使用下面代码得到json文件 import cv2 import os import json import sysdef func(file:str) -> dict:png cv2.imread(file)gray cv2.cvtColor(png, cv2.COLOR_BGR2GRAY)_, binary cv2.threshold(gray,10,255,cv2.TH…...

华清远见嵌入式学习——ARM——作业1

要求&#xff1a; 代码&#xff1a; mov r0,#0 用于加mov r1,#1 初始值mov r2,#101 终止值loop: cmp r1,r2addne r0,r0,r1addne r1,r1,#1bne loop 效果&#xff1a;...

如何在公网环境使用固定域名远程访问内网BUG管理系统协同办公

文章目录 前言1. 本地安装配置BUG管理系统2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射本地服务3. 测试公网远程访问4. 配置固定二级子域名4.1 保留一个二级子域名5.1 配置二级子域名6. 使用固定二级子域名远程 前言 BUG管理软件,作为软件测试工程师的必备工具之一。在…...

k8s pod网络排查教程

1、背景 背景&#xff1a;在日常的k8s运维中&#xff0c;经常会遇到pod之间网络无法访问&#xff0c;域名无法解释的情况。且容器中网络排查命令不全&#xff0c;导致无法准确定位问题。 2、nsenter介绍 #Centos 下载方式 $ yum install util-linux -ynsenter 是一个 Linux …...

Apollo Planning——换道:LANE_CHANGE_DECIDER

LaneChangeDecider 是lanefollow 场景下&#xff0c;所调用的第一个task&#xff0c;它的作用主要有两点&#xff1a;判断当前是否进行变道&#xff0c;以及变道的状态&#xff0c;并将结果存在变量lane_change_status中&#xff1b;变道过程中将目标车道的reference line放置到…...

Python 爬虫之简单的爬虫(三)

爬取动态网页&#xff08;上&#xff09; 文章目录 爬取动态网页&#xff08;上&#xff09;前言一、大致内容二、基本思路三、代码编写1.引入库2.加载网页数据3.获取指定数据 总结 前言 之前的两篇写的是爬取静态网页的内容&#xff0c;比较简单。接下来呢给大家讲一下如何去…...

为突发事件提供高现势性数据支撑!大势智慧助力中山市2023应急测绘保障演练举行

12月14日&#xff0c;2023年度中山市应急测绘保障演练在中山树木园举行&#xff0c;市自然资源局总工程师邓宇文出席本次演练活动。来自全市自然资源、应急管理部门和部分测绘单位的近70人现场观摩了演练。本次演练由中山市自然资源局主办、中山市自然资源信息中心承办&#xf…...

图片速览 OOD用于零样本 OOD 检测的 CLIPN:教 CLIP 说不

PAPERCODEhttps://arxiv.org/pdf/2308.12213v2.pdfhttps://github.com/xmed-lab/clipn 文章创新 以往由CLIP驱动的零样本OOD检测方法&#xff0c;只需要ID的类名&#xff0c;受到的关注较少。 本文提出了一种新的方法&#xff0c;即CLIP说“不”&#xff08;CLIPN&#xff09;…...

a16z:加密行业2024趋势“无缝用户体验”

近日&#xff0c;知名加密投资机构a16z发布了“Big ideas 2024”&#xff0c;列出了加密行业在 2024 年几个具备趋势的“大想法”&#xff0c;其中 Seamless UX&#xff08;无缝用户体验&#xff09;赫然在列。 从最为直观的理解上&#xff0c;Seamless UX 是在强调用户在使用产…...

C# WPF上位机开发(属性页面的设计)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在软件开发中&#xff0c;属性或者参数设置是很重要的一个部分。这个时候如果不想通过动态添加控件的方法来处理的话&#xff0c;那么可以通过tab控…...

macOS 安装 oh-my-zsh 后 node 报错 command not found : node

最近为了让终端中显示 git 分支的名称&#xff0c;安装了 oh-my-zsh &#xff0c;安装之后呢&#xff0c;我原先安装的 Volta、 node 都没法用了&#xff0c;报错如下&#xff1a; 这时候粗略判断应该是系统变量出了问题&#xff0c;oh-my-zsh 的变量文件是 ~/.zshrc&#xff0…...

AI 绘画 | Stable Diffusion 视频数字人

前言 本篇文章教会你如何利用Stable Diffusion WEB UI,使用一个人物图片转换成为一个口播视频。本篇内容的教程以WINDOWS系统为例,教你如何安装使用。 先看视频效果 彭于晏图片生成口播视频 安装 首先需要在windows电脑上安装ffmpeg,按照本教程《在 Windows PC 上轻松下载并…...

《代码随想录》--二叉树(一)

《代码随想录》--二叉树 第一部分 1、二叉树的递归遍历2、二叉树的迭代遍历3、统一风格的迭代遍历代码4、二叉树的层序遍历226.翻转二叉树 1、二叉树的递归遍历 前序遍历 中序遍历 后序遍历 代码 前序遍历 class Solution {public List<Integer> preorderTraversal(T…...

shell编程-数组与运算符详解(超详细)

文章目录 前言一、 Shell数组1. 声明和初始化数组2. 访问数组元素3. 数组长度4. 遍历数组5. 修改数组元素6. 删除数组元素7. 示例 二、Shell运算符1. 算术运算符1.1 加法运算符 ()1.2 减法运算符 (-)1.3 乘法运算符 (*)1.4 除法运算符 (/)1.5 取余运算符 (%) 2. 关系运算符2.1 …...

Vim入门

Vim使用入门 1.Vim编辑器的三种常用模式 一般模式&#xff1a;刚打开文件是它&#xff0c;从编辑模式按“ESC”退回的模式也是它。可以执行各种编辑操作&#xff0c;如移动光标、复制、粘贴、删除、查找替换等 ; 编辑模式&#xff1a;在一般模式下按下 i、I、a、A、o、O 等键…...

动态加载库

no_mangle 不要改标识符 首先是认识这个标注&#xff1a;mangle&#xff0c;英文的含义“撕裂、碾压”。我第一次把这个单次误以为是manage&#xff0c;说实话两个单词还挺像的。 RUS中函数或静态变量使用#[no_mangle]这个标注属性后&#xff0c;编译器就不会修改它们的名字了…...

React中渲染html结构---dangerouslySetInnerHTML

dangerouslySetInnerHTML胡子{}语法绑定的内容全部作为普通文本渲染&#xff0c;渲染html结构基于---dangerouslySetInnerHTMLdangerouslySetInnerHTML是React标签的一个属性&#xff0c;类似于vue的v-html有2个{{}},第一个{}代表jsx语法开始&#xff0c;第二个是代表dangerous…...

计网02-计算机网络参考模型

一、OSI七层参考模型 1、分层的思想 分层模型用于网络协议的设计方法&#xff0c;本质是将网络节点间复杂的通信问题分成若干简单的问题逐一解决&#xff0c;通过网络的层次去找问题&#xff0c;将复杂问题简单化。 2、OSI参考模型 由于早期计算机厂商使用的是私有的网络模…...

模块测试:确保软件质量的关键步骤

引言&#xff1a; 在软件开发过程中&#xff0c;模块测试是确保软件质量的关键环节。通过模块化的设计和测试方法&#xff0c;可以提高开发效率、降低错误率&#xff0c;并最终提供稳定可靠的软件产品。本文将介绍模块测试的概念、重要性以及实施步骤&#xff0c;帮助读者了解如…...