vue入门配置并设置公网ip访问

下载安装

注释快捷键:ctrl+/

方式一:CDN引入

部署时可使用

方式二:源码引入

从源码引入方便学习

开发环境:http://vuejs.org/js/vue.js

生成环境:http://vuejs.org/js/vue.js

方式三:npm安装

下载 | Node.js 中文网 (nodejs.cn)

windows一般选择msi安装。

arch查看CPU指令集架构。x86 or arm

linux下载安装包解压设置软连接

tar -xf /home/sofoware/node-v16.11.1-linux-x64.tar.xz -C /usr/lib/nodejs/

mv node-v16.11.1-linux-x64/ node-v16.11.1

ln -s /usr/lib/nodejs/node-v16.11.1/bin/node /usr/local/bin/

ln -s /usr/lib/nodejs/node-v16.11.1/bin/npm /usr/local/bin/

权限不够,需要给文件夹属性中给user添加所有权限

安装流程参考windows下npm安装vue - liluxiang - 博客园 (cnblogs.com)

修改了配置文件,默认下载路径改变:

npm config set prefix "D:\nodejs\node_global"

npm config set cache "D:\nodejs\node_cache"

配置文件夹C:\Users\killens\.npmrc

查看node安装是否成功

node -v

查看npm安装是否成功

npm -v

使用npm安装vue以及组件

npm config set registry=http://registry.npm.taobao.org 配置镜像站

npm install vue -g

npm install vue-router -g

npm install vue-cli -g

vue -V 查看版本

npm太慢使用cnpm安装

cnpm使用npm通过淘宝镜像安装

npm install -g cnpm --registry=https://registry.npm.taobao.org # 报错不影响后续

ln -s /usr/lib/nodejs/node-v16.11.1/bin/cnpm /usr/local/bin/cnpm # 随后配置软连接

cnpm install -g vue-cli

ln -s /usr/lib/nodejs/node-v16.11.1/bin/vue /usr/local/bin/vue # centos安装vue后配置软连接

使用vue创建项目

切换到项目目录后使用命令

vue init webpack mysite

初始化参数如下设置:

image-20211028152940083

进入当前项目:cd mysite

安装项目依赖:

npm install 或 cnpm install

npm run dev 或 cnpm run dev

浏览器输入localhost:8080看到如下界面即可

image-20211028153422195

项目打包

新开窗口,切换到项目下:cd D:\Files\Vue\mysite

npm run build将项目打包

将index.html中的绝对路径改为相对路径在浏览器可打开页面

VS code使用

Download Visual Studio Code - Mac, Linux, Windows

1.基础语法

涉及vue的生命周期

el:挂载点

作用范围:el所在元素及内部元素内部

使用其他的选择器:默认使用id(通过#访问)选择器。当然class(通过.访问)、甚至div本身都可以访问。建议使用id选择器,因为一般将id设置成唯一。标签的改变并不影响id的挂载。不能挂载body以及html标签。

设置其他的dom元素:

data:

其中可以定义变量,数组,键值对。数组通过[]访问,键值对等对象类型通过.可以访问。

vue实例是将h5页面某一部分当作整体(使用id或其他作为挂载标识管理整体),动态管理其中的元素。vue管理的元素一旦改变,页面自动刷新。

image-20220105113303510

methods:

v-on@click对应的方法写在这里

生命周期相关

creat:

vue被创建时执行的方法,一般在这里进行http请求,获取数据赋值给data中的数据,从而进行展示。

mounted:

修改元素

1.通过vue类实例点属性的方式修改

vue语法:

网页无法正常显示时,可检查网页源码提示的错误。

mustache(双大括号):

括号内不仅可以写变量,也可以写变量表达式

v-once:对于其中内容只做一次修改。

v-text可达到同样的效果,但是因为不够灵活,更多使用mustache(双大括号)。

v-pre可以将其中的内容原封不动的进行展示,而不做任何vue或html解析。

v-cloak:vue未替换原html界面内容时,不显示原html内容(默认显示)。

内容绑定,事件绑定

v-test,与id,class类似,这是vue支持的标签属性,直接设置标签的内容。同时可以使用字符串的拼接。

v-html,可以将文本中的标签解析成对应的标签功能。这里可以设置链接跳转。a标签中href为http reference的缩写。

image-20220106154355878

v-on,绑定事件方法。一般配合input标签,type,value,属性。可通过this修改data中的元素值

v-on可以绑定click、monseenter、dblclick。所对应的方法写在data的methods中

例:

<input type="button" value="事件绑定" @click="eat">

​ <h2 @click="eat">{{food}}

image-20220105121214649

显示切换,属性绑定。除了绑定模板内容,可以绑定属性。

v-show,样式在,控制是否显示,频繁切换状态用。

v-if,false时从标签中移除,控制样式。偶尔用。

v-bind

对于img标签,要动态绑定属性src(图片地址),需要用v-bind修饰src,此时vue才会解析scr中的变量字符串

image-20220106163432130

除了绑定img的src,a标签的href,也可绑定div的class属性

除了使用v-bind:src也可使用缩写:src

列表循环,表单元素绑定

v-for

image-20220105115903720

v-on

v-model

D:\software\Install\unity\2020.3.20f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK

2.组件开发

vue作为渐进式框架,可以将应用的一部分嵌入其中。也可以使用vue及其生态,core+ vue+router+vuex.

组件是可复用的 Vue 实例

npm安装后,通过import Vue from “vue”即可

实际开发中一般不修改index.html的内容(可以修改,但不建议),对页面内容的修改放在Vue实例的template属性中,vue编译时会将其中的内容放在el所绑定的div标签中。进一步,可以将vue实例中的template、data、methods等内容放在其他app中管理,只需在原vue实例中绑定相应的组件component并使用template进行引用即可。最终vue实例被简化为如下结构

image-20220107135752803

h5页面的代码,以及vue中对于h5页面的管理script代码放在组件App中,此后任何页面想用此功能使用引用该组件名称(组件须导出名称才能使用)即可。

h5页面代码放在App组件的template中,vue管理页面的script放在App组件的script中。当然css代码也可放在组件中。

image-20220107142806339

index.html为网页入口,其中绑定了对应id的组件,由main.js配置,一般绑定APP.vue,APP.vue中可以放多个网页的通用部分,其他部分通过路由进行占位。image-20220111164450455

路由通过index.js配置,路由配置不同网页的可重复性组件。

3.CLI详解

帮助搭建项目所需的环境,包括webpack以及依赖。

使用.vue开发,使用润time-only方式开发,若仍使用template标签,使用编译形式

image-20220107151216684
export 
new Vue(){
    
}

执行npm run dev时执行了node build/build.js文件

目录结构:

image-20220107152436550

build、config:配置文件

node_moudle:项目所需的依赖

dist:最后构建生成的代码

src:自己写的源码,包括html、css、js、vue等文件

static:静态文件,如图片,音视频等,打包时会全部拷贝到dist文件中

cli3中目录结构有较大不同

4.router(处理页面与url之间的映射关系)

之前,网页渲染由后端完成,路由也是后端完成,后端要处理页面与url之间的映射关系。

随着Ajax的出现,前后端进行了分离,后端只提供API返回数据,前端通过Ajax获取数据,并进行渲染。由此,前端专注与页面与交互,后端专注于数据库。

image-20220107160951487

前端路由:一次下载所有资源,配置url与页面的对应关系即可。

image-20220107161944657

在前端改变其地址hash值,域名地址会发生改变,但不会向服务器请求资源。这就是前端路由改变的机制。image-20220107180954033

上述方式地址中有#,或可改变地址history值达到相同效果,使用history.pushState({}," ",about"),此时没有#。

配置映射关系

image-20220107163627678

导入时,默认寻找目录下的index.js文件。

import router from './router'

意思从'./router/index.js'中导入router组件

5. vuex:对于多个vue组件的变量进行集中管理

image-20220107182711053

6.网络封装

Ajax:jQuery的ajax需引入jQuery。推荐使用axios

image-20220118155432466

请求方式:

image-20220118155559536

7.项目实战

8.项目部署

设置公网访问

1.设置服务器端口访问规则。django设置8889,vue设置8070/8888

2.修改 项目名/config/index.js中16,17行,修改为0.0.0.0 和8070端口。

image-20220106231315133

3.在项目目录下的/build/webpack.dev.conf.js 的文件添加disableHostCheck: true

image-20220106231433069

利用webpack进行项目打包

旧版安装:

全局安装:cnpm install webpack@3.6.0 -g

设置软连接:ln -s /usr/lib/nodejs/node-v16.11.1/bin/webpack /usr/local/bin/webpack

局部安装(项目开发时使用):cnpm install webpack@3.6.0 --sava-dev(表示开发时依赖)

安装后会在该文件夹生成node module相关依赖

新版安装:4以上将cli分离,须同时安装vue-cli

npm install webpack@5.42.1 webpack-cli@4.7.2 -D

webpack采用模块化思想,支持不同类型模块与其之间的依赖关系,写好的代码打包后,将index.html指向dist中可以直接用浏览器打开的界面即可。

修改webpack默认配置。

打包除了用webpack,更常用npm run build构建

命令映射:

npm run build/dev 等于运行package.json中的script中的命令

打包css需要合适的加载器,通过npm安装:npm install--sava-dev css-loader

css loader只负责加载,还需style-loader将模块样式添加到dom

image-20220107133911536
posted @ 2022-05-23 22:30  killens  阅读(1693)  评论(0编辑  收藏  举报