第7章 Vue 开发环境

第7章 Vue 开发环境

7.1 Vue CLI 脚手架

Vue CLI

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,可以自动生成 Vue.js + webpack 的项目模板

2.x 版本需要借助 webpack 构建项目,3.x 已经无需

  • 卸载旧版 vue-cli,安装新版 @vue/cli

    npm uninstall vue-cli -g
    npm install @vue/cli@3.10 -g
    

    191.792s

vue create

vue create hello-vue

image-20201129191027754别改了!!!

啊这还是按默认的来吧,手动配置后面的看不太懂,都回车过去了(后面 GUI 方式创建就是按照默认来的)

在对应目录下启动项目

npm run serve

用 GUI 创建项目

以图形化的界面引导开发者去进行项目的创建

mkdir vue-ui	// 然后进入到该目录下再创建项目,我下面截图没有用到这个目录,搞错了,不过问题不大
vue ui
image-20201129192930689 image-20201129193112752 image-20201129193630727 image-20201129194140486 image-20201129194432720

7.2 插件 & CLI 服务 & 配置文件

CLI 插件

@vue/cli-plugin- 开头,内置插件

安装插件

vue add router
vue add vuex
vue add vuetify		// 非内置的, plugins 目录中会自动生成其配置文件

CLI 服务

package.json > script > serve : vue-cli-service 就是 CLI 服务
npm run serve
npx vue-cli-service		// 运行 CLI 服务,后面有提示选项 save、build 等

配置文件

vue.config.js	// 自己创建的

演 示 如 何 配 置   d e v S e r v e r   的   b e f o r e   函 数 请 求 本 地 接 口 数 据 演示如何配置\ devServer\ 的\ before\ 函数请求本地接口数据  devServer  before 

  1. 创建 data 目录,创建 good.json 文件
{
    "last_id": 0,
    "list": [
        {
            "order_id": "1",
            "foods": [{
                "name": "鲜枣馍",
                "describe": "等 4 件商品",
                "price": "12.00",
                "date": "2020-11-29",
                "time": "11:30",
                "money": 48
            }],
            "taken": false
        },
        {
            "order_id": "1",
            "foods": [{
                "name": "芝士火腿包",
                "describe":"等 2 件商品",
                "price": "14.00",
                "date": "2020-11-27",
                "time": "12:30",
                "money": 28
            }],
            "taken": true
        }
    ]
}
  1. 创建 /hello-vue/vue.config.js 文件,配置 devServer 选项的 before 函数
const goods = require('./data/goods.json')

module.exports = {
    devServer: {
        port: 8081,		// 端口号
        open: true,		// 自动打开浏览器
        before: app => {
            app.get('/api/goods', (req, res) => {
                res.json(goods)
            })
        }
    }
}

执行 npm run serve,打开后访问 http://localhost:8081/api/goods

image-20201129211111394

配置多页应用

Vue CLI 支持用 vue.config.js 的 pages 选项构建多页(单页 SPA,多页 MPA)

看完对比后感觉多页应用不如单页应用啊

// 配置 vue.config.js
module.exports = {
    pages: {
        index: {
            entry: 'src/index/main.js',
            template: 'public/index.html',
            filename: 'index.html'
        },
        subpage: 'src/subpage/main.js'
    },
    devServer: {
        port: 8080,
        open: true
    }
}

// 安装插件
vue add router		// 注意询问 history 模式时候选 No !!!
vue add vuex

在 src 目录下创建 index 目录,把 assets、views、App.vue、main.js、router 移动到 index 目录中

改 main.js

import store from '../store'

创建 src\subpage 目录,把 src\index 目录下的文件复制到 subpage 目录中

改 src\store\index.js

export default new Vuex.Store({
  state: {
    tip: '页面测试'
  },

改 index\views\Home.vue

export default {
  name: 'Home',
  components: {
    HelloWorld
  },
  mounted() {
    window.console.log('this is a 默认页面的主页:' + this.$store.state.tip)
  }
}

改 subpage\views\Home.vue,位置同上

  mounted() {
    window.console.log('this is a 多页面测试的主页: ' + this.$store.state.tip)
  }

运行后,改地址栏为 http://localhost:8080/subpage.html#/

image-20201129231658187

7.3 环境变量 & 模式 & 静态资源管理

环境变量

  • .env:所有环境载入
  • .env.local:只在本地有效
  • .env.[mode]:指定模式下有效,高优先级(启动前存在的拥有最高优先级)
  • .env.[mode].local:只在本地有效

模式 [mode]

  • development :用于 vue-cli-service serve,即开发环境使用
  • production :用于 vue-cli-service build 和 vue-cli-service test:e2e,正式环境使用
  • test :用于 vue-cli-service test:unit

修 改 模 式   m o d e 修改模式\ mode  mode

改 package.json,加一行 stage 模式,用来模拟预上线环境

"scripts": {
  "serve": "vue-cli-service serve",
  "build": "vue-cli-service build",
  "lint": "vue-cli-service lint",
  "stage": "vue-cli-service build --mode stage"
},

创建 hello-vue\.env.stage 文件(我的项目根目录是 hello-vue)

NODE_ENV='production'
VUE_APP_CURRENTMODE='stage'
outputDir='stage'

在 vue.config.js 文件使用环境变量,指定输出目录为环境变量配置的 stage 目录

module.exports = {
    outputDir: process.env.outputDir,
}

然后运行 npm run stage

会生成 hello-vue\stage

静态资源管理

  1. 使用相对路径引入的静态资源文件,会被 webpack 解析为模块依赖(有一定优势)
  2. 保存在 public 目录下的静态资源不会经过 webpack 处理,会直接被简单复制,引入时使用绝对路径

相 对 / j s   导 入 + 被   w e b p a c k   处 理 , 绝 对 / p u b l i c   中 + 不 被   w e b p a c k   处 理 相对/js\ 导入 + 被\ webpack\ 处理,绝对/public\ 中 + 不被\ webpack\ 处理 /js + webpack /public + webpack 

  • 经过 webpack 处理 :在 JavaScript 被导入或在 template/CSS 中通过相对路径被引用的资源
  • 不经过 webpack 处理 :存放在 public 目录下或通过绝对路径引用的资源,会直接被复制一份,不做编译和压缩的处理

E n d . End. End.

内容概要:本文档详细介绍了在三台CentOS 7服务器(IP地址分别为192.168.0.157、192.168.0.158和192.168.0.159)上安装和配置Hadoop、Flink及其他大数据组件(如Hive、MySQL、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala)的具体步骤。首先,文档说明了环境准备,包括配置主机名映射、SSH免密登录、JDK安装等。接着,详细描述了Hadoop集群的安装配置,包括SSH免密登录、JDK配置、Hadoop环境变量设置、HDFS和YARN配置文件修改、集群启动与测试。随后,依次介绍了MySQL、Hive、Sqoop、Kafka、Zookeeper、HBase、Spark、Scala和Flink的安装配置过程,包括解压、环境变量配置、配置文件修改、服务启动等关键步骤。最后,文档提供了每个组件的基本测试方法,确保安装成功。 适合人群:具备一定Linux基础和大数据组件基础知识的运维人员、大数据开发工程师以及系统管理员。 使用场景及目标:①为大数据平台建提供详细的安装指南,确保各组件能够顺利安装和配置;②帮助技术人员快速掌握Hadoop、Flink等大数据组件的安装与配置,提升工作效率;③适用于企业级大数据平台的建与维护,确保集群稳定运行。 其他说明:本文档不仅提供了详细的安装步骤,还涵盖了常见的配置项解释和故障排查建议。建议读者在安装过程中仔细阅读每一步骤,并根据实际情况调整配置参数。此外,文档中的命令和配置文件路径均为示例,实际操作时需根据具体环境进行适当修改。
在无线通信领域,天线阵列设计对于信号传播方向和覆盖范围的优化至关重要。本题要求设计一个广播电台的天线布局,形成特定的水平面波瓣图,即在东北方向实现最大辐射强度,在正东到正北的90°范围内辐射衰减最小且无零点;而在其余270°范围内允许出现零点,且正西和西南方向必须为零。为此,设计了一个由4个铅垂铁塔组成的阵列,各铁塔上的电流幅度相等,相位关系可自由调整,几何布置和间距不受限制。设计过程如下: 第一步:构建初级波瓣图 选取南北方向上的两个点源,间距为0.2λ(λ为电磁波波长),形成一个端射阵。通过调整相位差,使正南方向的辐射为零,计算得到初始相位差δ=252°。为了满足西南方向零辐射的要求,整体相位再偏移45°,得到初级波瓣图的表达式为E1=cos(36°cos(φ+45°)+126°)。 第二步:构建次级波瓣图 再选取一个点源位于正北方向,另一个点源位于西南方向,间距为0.4λ。调整相位差使西南方向的辐射为零,计算得到相位差δ=280°。同样整体偏移45°,得到次级波瓣图的表达式为E2=cos(72°cos(φ+45°)+140°)。 最终组合: 将初级波瓣图E1和次级波瓣图E2相乘,得到总阵的波瓣图E=E1×E2=cos(36°cos(φ+45°)+126°)×cos(72°cos(φ+45°)+140°)。通过编程实现计算并绘制波瓣图,可以看到三个阶段的波瓣图分别对应初级波瓣、次级波瓣和总波瓣,最终得到满足广播电台需求的总波瓣图。实验代码使用MATLAB编写,利用polar函数在极坐标下绘制波瓣图,并通过subplot分块显示不同阶段的波瓣图。这种设计方法体现了天线阵列设计的基本原理,即通过调整天线间的相对位置和相位关系,控制电磁波的辐射方向和强度,以满足特定的覆盖需求。这种设计在雷达、卫星通信和移动通信基站等无线通信系统中得到了广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值