【微服务】Nacos(配置中心)
文章目录
- 1.AP和CP
- 1.基本介绍
- 2.说明
- 2.Nacos配置中心实例
- 1.架构图
- 2.在Nacos Server加入配置
- 1.配置列表,加号
- 2.加入配置
- 3.点击发布,然后返回
- 4.还可以编辑
- 3. 创建 Nacos 配置客户端模块获取配置中心信息
- 1.创建子模块 e-commerce-nacos-config-client5000
- 2.pom.xml引入配置中心依赖
- 3.application.yml 指定当前为开发环境(对应于配置中心文件的-dev)
- 4.bootstrap.yml(这个文件会在application.yml之前读取,也可作为配置文件) 配置服务注册和配置中心
- 5.编写启动类
- 6.src/main/java/com/sun/springcloud/controller/NacosConfigController.java 编写业务类获取配置中心信息
- 7.测试
- 1.首先确保Nacos启动
- 2.启动这个模块,浏览器访问http://localhost:8848/nacos/查看注册信息
- 3.浏览器访问http://localhost:5000/nacos/config/mes查看结果
- 4.Nacos配置中心细节
- 1.关于@Value注解引用的包
- 2.配置中心的文件不可以是yml,只能是yaml
- 3.在项目初始化时,如果无法从配置中心获取数据,项目是启动不了的
- 4.bootstrap.yml 的优先级高于 application.yml
- 5.application name必须与配置中心的配置文件的名字对应(-dev之前)
- 6.@RefreshScope是springcloud的原生注解,可以实现配置信息自动刷新
- 演示
- 3.Nacos配置隔离
- 1.命名空间 + 分组 + Data ID管理配置
- 命名空间:按照环境隔离配置
- 分组:按照业务类型来划分
- Data ID:按照服务名,环境,文件后缀来配置
- 2.应用实例
- 1.需求分析
- 2.设置命名空间(namespace)
- 1.新建命名空间
- 2.填写空间名和描述
- 3.自动生成命名空间id
- 3.分组设置(group)和 文件命名(data id)
- 1.新建配置
- 2.进行配置
- 3.bootstrap.yml 配置服务注册以及配置中心
- 4.application.yml 指定dev环境(对应于data id的 -dev)也可以在启动的时候通过命令指定开发环境
- 5.pom.xml 引入配置中心和服务发现的依赖
- 6.编写启动类 开启服务发现
- 7.编写业务类,读取配置文件@RefreshScope实现配置信息自动刷新
- 8.启动测试
- 3.流程说明
- 1.首先创建一个模块
- 2.为这个模块在配置中心指定一个配置文件,按照命名空间 + 分组 + Data ID管理配置
- 3.编写模块的bootstrap.yml 配置端口、服务注册以及配置中心
- 4.编写application.yml 指定环境
- 5.编写启动类,开启服务发现并执行测试
- 4.关于使用Nacos配置中心,配置文件的读取顺序(后面的会覆盖前面的)
1.AP和CP
1.基本介绍
2.说明
2.Nacos配置中心实例
1.架构图
2.在Nacos Server加入配置
1.配置列表,加号
2.加入配置
- 这里的配置文件名需要跟application name一致(-dev前面的部分)
3.点击发布,然后返回
4.还可以编辑
3. 创建 Nacos 配置客户端模块获取配置中心信息
1.创建子模块 e-commerce-nacos-config-client5000
2.pom.xml引入配置中心依赖
<dependencies><!-- 引入nacos的配置中心依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--引入nacos的服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!-- springboot web starter 用来监听端口--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 如果在子工程/模块指定了 version,则以指定为准 --></dependency><!--1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息等2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 公共模块的jar包 --><dependency><groupId>org.example</groupId><artifactId>e_commerce_center-common-api</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
3.application.yml 指定当前为开发环境(对应于配置中心文件的-dev)
spring:profiles:active: dev # 指定当前环境为开发环境,对应于配置中心文件的-dev
4.bootstrap.yml(这个文件会在application.yml之前读取,也可作为配置文件) 配置服务注册和配置中心
- 关于找到配置中心的文件的解释
- localhost:8848可以找到配置中心
- e-commerce-nacos-config-client + -dev可以找到配置文件的名字
- yaml可以找到配置文件的后缀
server:port: 5000 # 配置服务端口spring:application:name: e-commerce-nacos-config-client # 配置服务的名称,这里的name需要参考nacos配置中心里配置文件的名字cloud:nacos:# encos服务注册discovery:server-addr: localhost:8848# 配置中心config:server-addr: localhost:8848 # 查找到配置中心file-extension: yaml # 文件后缀
5.编写启动类
package com.sun.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** Description:** @Author sun* @Create 2024/3/27 21:21* @Version 1.0*/
@SpringBootApplication
@EnableDiscoveryClient // 开启nacos服务发现
public class NacosConfigClientApplication5000 {public static void main(String[] args) {SpringApplication.run(NacosConfigClientApplication5000.class, args);}
}
6.src/main/java/com/sun/springcloud/controller/NacosConfigController.java 编写业务类获取配置中心信息
package com.sun.springcloud.controller;import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** Description: 获取配置中心的数据** @Author sun* @Create 2024/3/27 21:27* @Version 1.0*/
@RestController
@Slf4j
public class NacosConfigController {/* 使用Value注解可以获取配置中心中对应于这个微服务集群的配置文件的信息,注意:如果获取不到信息,则微服务直接启动不了 */@Value("${config.ip}")private String ip;@Value("${config.name}")private String name;@GetMapping("/nacos/config/mes")public String getConfigIpAndName() {return "ip:" + ip + " name:" + name;}
}
7.测试
1.首先确保Nacos启动
2.启动这个模块,浏览器访问http://localhost:8848/nacos/查看注册信息
3.浏览器访问http://localhost:5000/nacos/config/mes查看结果
4.Nacos配置中心细节
1.关于@Value注解引用的包
2.配置中心的文件不可以是yml,只能是yaml
3.在项目初始化时,如果无法从配置中心获取数据,项目是启动不了的
4.bootstrap.yml 的优先级高于 application.yml
5.application name必须与配置中心的配置文件的名字对应(-dev之前)
6.@RefreshScope是springcloud的原生注解,可以实现配置信息自动刷新
演示
3.Nacos配置隔离
1.命名空间 + 分组 + Data ID管理配置
命名空间:按照环境隔离配置
- development
- testing
- production
分组:按照业务类型来划分
- 用户模块
- 订单模块
Data ID:按照服务名,环境,文件后缀来配置
- 格式:
[application-name]-[environment].[file-extension]
- 示例:
user-service-dev.yml
order-service-prod.yml
2.应用实例
1.需求分析
要为开发环境,用户模块的一个服务指定配置文件
2.设置命名空间(namespace)
1.新建命名空间
2.填写空间名和描述
3.自动生成命名空间id
3.分组设置(group)和 文件命名(data id)
1.新建配置
2.进行配置
3.bootstrap.yml 配置服务注册以及配置中心
server:port: 5000 # 配置服务端口spring:application:name: e-commerce-nacos-config-client # 配置服务的名称,这里的name需要参考nacos配置中心里配置文件的名字cloud:nacos:# nacos服务注册discovery:server-addr: localhost:8848 # nacos服务注册中心地址# 配置中心config:server-addr: localhost:8848 # 配置中心地址file-extension: yaml # 指定配置文件的格式group: user # 指定配置文件的分组namespace: 122114f8-b2eb-480a-9ef3-1f8d30446736 # 指定命名空间id
4.application.yml 指定dev环境(对应于data id的 -dev)也可以在启动的时候通过命令指定开发环境
spring:profiles:active: dev # 指定当前环境为开发环境
5.pom.xml 引入配置中心和服务发现的依赖
<dependencies><!-- 引入nacos的配置中心依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--引入nacos的服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!-- springboot web starter 用来监听端口--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 如果在子工程/模块指定了 version,则以指定为准 --></dependency><!--1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息等2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 公共模块的jar包 --><dependency><groupId>org.example</groupId><artifactId>e_commerce_center-common-api</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
6.编写启动类 开启服务发现
package com.sun.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** Description:** @Author sun* @Create 2024/3/27 21:21* @Version 1.0*/
@SpringBootApplication
@EnableDiscoveryClient // 开启nacos服务发现
public class NacosConfigClientApplication5000 {public static void main(String[] args) {SpringApplication.run(NacosConfigClientApplication5000.class, args);}
}
7.编写业务类,读取配置文件@RefreshScope实现配置信息自动刷新
package com.sun.springcloud.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** Description: 获取配置中心的数据** @Author sun* @Create 2024/3/27 21:27* @Version 1.0*/
@RestController
@RefreshScope // 实现配置信息自动刷新
public class NacosConfigController {/* 使用Value注解可以获取配置中心中对应于这个微服务集群的配置文件的信息,注意:如果获取不到信息,则微服务直接启动不了 */@Value("${config.ip}")private String ip;@Value("${config.name}")private String name;@GetMapping("/nacos/config/mes")public String getConfigIpAndName() {return "ip:" + ip + " name:" + name;}
}
8.启动测试
3.流程说明
1.首先创建一个模块
2.为这个模块在配置中心指定一个配置文件,按照命名空间 + 分组 + Data ID管理配置
3.编写模块的bootstrap.yml 配置端口、服务注册以及配置中心
4.编写application.yml 指定环境
5.编写启动类,开启服务发现并执行测试
4.关于使用Nacos配置中心,配置文件的读取顺序(后面的会覆盖前面的)
- bootstrap.yml
- application.yml
- application-prod.yml(还可以是-test,-dev)
- 配置中心文件
- 启动时命令行指定配置
相关文章:
【微服务】Nacos(配置中心)
文章目录 1.AP和CP1.基本介绍2.说明 2.Nacos配置中心实例1.架构图2.在Nacos Server加入配置1.配置列表,加号2.加入配置3.点击发布,然后返回4.还可以编辑 3. 创建 Nacos 配置客户端模块获取配置中心信息1.创建子模块 e-commerce-nacos-config-client50002…...
比较AI编程工具Copilot、Tabnine、Codeium和CodeWhisperer
主流的几个AI智能编程代码助手包括Github Copilot、Codeium、Tabnine、Replit Ghostwriter和Amazon CodeWhisperer。 你可能已经尝试过其中的一些,也可能还在不断寻找最适合自己或公司使用的编程助手。但是,这些产品都会使用精选代码示例来实现自我宣传…...
顺应互联网发展大潮流,红河农资招商火爆开启
顺应互联网发展大潮流,红河农资招商火爆开启 进入新世纪,生态农业建设成为了影响和改变农村、农业工作的重要领域。尤其是在互联网的快速发展之下,实现农业结构调整,推动互联网模式的发展,成为了当前生态农业发展的主流…...
网络七层模型之传输层:理解网络通信的架构(四)
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
微信小程序实现图片懒加载的4种方案
实现图片懒加载的意义 实现图片懒加载可以提高小程序的性能和用户体验,是微信小程序开发中非常重要的一项优化手段。微信小程序实现图片懒加载的目的主要有以下几点: 提高页面加载速度:图片通常是页面中最耗时的资源,如果一次性…...
各大pdf转word软件都用的哪家的ocr引擎?
国内一般的PDF软件一般都调用某国际PDF原厂的OCR接口,但这家公司是主要做PDF,在OCR方面并不专注,一些不是很复杂的场景还能应付得过来,复杂一点的效果就强差人意了,推荐用金鸣表格文字识别系统,它主要有以下…...
学习没有速成可言
那些声称几天就能让你精通软件的书籍,往往是夸大其词的宣传。学习软件需要时间和实践,没有什么快速的捷径可以让你在短时间内成为专家。 对于速成软件书,我个人持保留态度。它们可能提供一些基础知识和技巧,可以给初学者一个入门…...
快速上手Pytrch爬虫之爬取某应图片壁纸
一、前置知识 1 爬虫简介 网络爬虫(又被称作网络蜘蛛、网络机器人,在某些社区中也经常被称为网页追逐者)可以按照指定的规则(网络爬虫的算法)自动浏览或抓取网络中的信息。 1.1 Web网页存在方式 表层网页指的是不需要提交表单&…...
如何在Apache Arrow中定位与解决问题
如何在apache Arrow定位与解决问题 最近在执行sql时做了一些batch变更,出现了一个 crash问题,底层使用了apache arrow来实现。本节将会从0开始讲解如何调试STL源码crash问题,在这篇文章中以实际工作中resize导致crash为例,引出如何…...
[ Linux ] git工具的基本使用(仓库的构建,提交)
1.安装git yum install -y git 2.打开Gitee,创建你的远程仓库,根据提示初始化本地仓库(这里以我的仓库为例) 新建好仓库之后跟着网页的提示初始化便可以了 3.add、commit、push三板斧 git add . //add仓库新增(变…...
怎样去保证 Redis 缓存与数据库双写一致性?
解决方案 那么我们这里列出来所有策略,并且讨论他们优劣性。 先更新数据库,后更新缓存先更新数据库,后删除缓存先更新缓存,后更新数据库先删除缓存,后更新数据库 先更新数据库,后更新缓存 这种方法是不推…...
RuoYi-Vue若依框架-新增子模块启动后,前端页面报接口404
如何新建子模块可以参考RuoYi-Vue若依框架-如何新增子模块 我在新增依赖的时候提过版本号的问题,如果不是按照我的博客走的,然后接口报了404,可以选择添加父版本号,官方的参考文档是没写的,但添加了确实能解决这个问题…...
node.js 常见命令
1. npm init: 初始化一个新的Node.js项目,创建一个package.json文件。 2. npm install: 安装项目所需的所有依赖项。 3. npm run: 运行在package.json文件中定义的脚本。 4. node index.js: 运行一个Node.js文件。 5. node -v: 查看当前安装的Node.js版本号。 6. np…...
教育信创,重磅发布!Coremail联合飞腾发布全场景教育信创白皮书
3月28日,Coremail参与编制的《教育行业数字化自主创新 飞腾生态解决方案白皮书》正式发布。白皮书历时一年,由25所代表院校、66位专家,119家生态伙伴共同编写。 本次白皮书围绕教育数字化转型和信创人才培养两大领域,聚焦办公、教…...
滑动窗口_水果成篮_C++
题目: 题目解析: fruits[i]表示第i棵树,这个fruits[i]所表示的数字是果树的种类例如示例1中的[1,2,1],表示第一棵树 的种类是 1,第二个树的种类是2 第三个树的种类是1随后每一个篮子只能装一种类型的水果,我…...
线程的状态:操作系统层面和JVM层面
在操作系统层面,线程有五种状态 初始状态:线程被创建,操作系统为其分配资源。 可运行状态(就绪状态):线程被创建完成,进入就绪队列,参与CPU执行权的争夺。或因为一些原因,从阻塞状态唤醒的线程…...
在Isaac-sim中弧度转四元数以及四元数转弧度的问题
问题: 在Isaac-sim中如果采用set_world_pose()和get_world_pose()得到的都是四元数,如何将弧度转四元数,或者将四元数转为弧度是需要解决的一个问题, 这里的弧度是以x轴为0度,y轴为90度,逆时针方向逐渐增大…...
【计算机网络】高级IO模型
高级IO模型 一、 理解 IO二、认识五种高级 IO 模型1. 阻塞 IO2. 非阻塞IO3. 信号驱动 IO4. IO 多路转接5. 异步 IO 三、高级 IO 重要概念1. 阻塞和非阻塞2. 同步通信和异步通信 四、非阻塞 IOfcntl 一、 理解 IO 当我们调用系统接口 write、read 的时候,本质是把数…...
LabVIEW电动汽车直流充电桩监控系统
LabVIEW电动汽车直流充电桩监控系统 随着电动汽车的普及,充电桩的安全运行成为重要议题。通过集成传感器监测、单片机技术与LabVIEW开发平台,设计了一套电动汽车直流充电桩监控系统,能实时监测充电桩的温度、电压和电流,并进行数…...
前端学习<二>CSS基础——08-CSS属性:定位属性
CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。 position: absolute; <!-- 绝对定位 -->position: relative; <!-- 相对定位 -->position: fixed; <!-- 固定定位 --> 下面逐一介绍。 相对定位 相对定位:让…...
88. 合并两个有序数组(javascript)
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组…...
机器学习_集成学习_梯度提升_回归_决策树_XGBoost相关概念
目录 1. 机器学习 使用监督吗?什么又是监督学习? 2. 与XGBoost 类似的机器学习方法有哪些? 3. 随机森林方法 和 梯度提升方法 有什么区别? 分别应用于什么场景? 4. 决策树回归方法 和 Gradient Boosting类回归方法…...
ABAP 字段类型不一样导致相加之后金额错误
文章目录 ABAP 字段类型不一样导致相加之后金额错误写在前面的总结示例程序1汇总MSEG表和MLDOC表 ABAP 字段类型不一样导致相加之后金额错误 写在前面的总结 如果需要不同底表的字段相加的值,那么最好是根据条件去分别算出那些值放在临时内表里面,再去…...
【L1距离和L2距离】Manhattan Distance Euclidean Distance 解释和计算公式
距离度量 特征空间中两个实例点的距离可以反映出两个实力点之间的相似性程度,使用的距离可以是欧式距离,也可以是其他距离。 欧氏距离(L2距离):最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于…...
自动发卡平台源码优化版,支持个人免签支付
源码下载地址:自动发卡平台源码优化版.zip 环境要求: php 8.0 v1.2.6◂ 1.修复店铺共享连接时异常问题 2024-03-13 23:54:20 v1.2.5 1.[新增]用户界面硬币增款扣款操作 2.[新增]前台对接库存信息显示 3.[新增]文件缓存工具类[FileCache] 4.[新增]库存同…...
如何使用固定公网地址远程连接Python编译器并将运行结果返回到Pycharm
文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…...
Java设计模式—备忘录模式(快照模式)
定义 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作&#…...
没学数模电可以玩单片机吗?
我们首先来看一下数电模电在单片机中的应用。数电知识在单片机中主要解决各种数字信号的处理、运算,如数制转换、数据运算等。模电知识在单片机中主要解决各种模拟信号的处理问题,如采集光照强度、声音的分贝、温度等模拟信号。而数电、模电的相互转换就…...
FlinkSQL之Flink SQL Join二三事
Flink SQL支持对动态表进行复杂而灵活的连接操作。 为了处理不同的场景,需要多种查询语义,因此有几种不同类型的 Join。默认情况下,joins 的顺序是没有优化的。表的 join 顺序是在 FROM 从句指定的。可以通过把更新频率最低的表放在第一个…...
某某消消乐增加步数漏洞分析
一、漏洞简介 1) 漏洞所属游戏名及基本介绍:某某消消乐,三消游戏,类似爱消除。 2) 漏洞对应游戏版本及平台:某某消消乐Android 1.22.22。 3) 漏洞功能:增加游戏步数。 4…...
淘宝上做的网站/赚钱软件
今天考试了,培训这边说从口试开始,我就去口试那边等着了。进去后,监考老师说汉来的没有密码需要生成,然后各种等,等了得40分钟吧,中间我还睡了一觉。太冷了,犯困的厉害。后来别人都考完了&#…...
广州做网站建设哪家公司好/查询百度关键词排名
这个呢,其实很简单,工程中,其实已经给我们留下了接口,我们只需要看看就知道了: 看到这里就差不多知道了,我是这么做的: auto engine LuaEngine::getInstance(); lua_State* L engine->get…...
wordpress多语言内容添加/重庆seo排名
一、编译安装nginx1、下载[rootns1 ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz2、解压[rootns1 ~]# tar xf nginx-1.10.0.tar.gz [rootns1 ~]# cd nginx-1.10.03、安装依赖组件[rootns1 nginx-1.10.0]# yum install pcre-devel #url重写需要的组件 [rootns1 n…...
邯郸做企业网站设计的公司/google广告
功能1.支持行情图左右滑动2.支持行情图的惯性滑动3.支持行情图的方法和缩小4.支持 BOLL 和 MACD 技术指标(后面会继续丰富指标)5.支持主图副图动态添加,尺寸修改等6.支持长按滑动和长按弹框等效果图项目关键类行情图容器:MarketFigureChart行情图主图&am…...
四川广安网站建设/网络软文范文
前面唠叨 最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…...
党建网站建设解决方案/上海seo优化bwyseo
遗憾的是,这些问题尚未得到解答.Cordova plugin.xml中添加了一项新功能,以支持将android子项目添加到Cordova项目中.以下是上述项目的示例,对于iOS,它非常相似,添加如下框架:然后cordova CLI将知道如何将整个文件夹添加到Cordova项目,并将子项目添加到eclipse项目,并…...