Vue 中使用export 和export default 引出

本文详细介绍了在JavaScript工程中如何使用export和export default来定义和导出常量及函数,以及如何在其他模块中通过import语句来引用这些资源。文章提供了具体的代码示例,包括常量和函数的定义、按需导入、别名导入和全部导入等常见使用场景。

在工程中,需要定义一些常量,和公用函数供工程使用时,可以创建一个公用的js文件,使用export 导出或者export default 导出。

  • 使用export 导出

1.工程中要定义一些常量

2.定义一些公用的处理函数

//常量定义
const UserName = 'xxxx';//用户名
const PassWord = 'xxxx';//密码

//定义一些函数
//示例 求和
function add(a,b){
return a+b;
}
function reduce(c,d){
return c-d;
}
export {UserName, PassWord, add, reduce}

使用场景

1.引用其中的一个,包括常量或者函数

//引用常量
import {UserName} from '路径';
//引用函数
import {add} from '路径';

//引用时 有冲突 使用别名 as
import {UserName as 别名 } from '路径';

2.全部引用过来

//全部引入 写对应的常量名或者函数名
// UserName  PassWord为变量名, add reduce为函数,
import {UserName,PassWord,add,reduce} from '路径';
// 起一个别名代替  UtilFuc 为别名
import * as UtilFuc 别名 from '路径';

1.如果是直接使用定义的名字,可以直接引用
console.log(UserName);
console.log(add(0,2));//add()函数使用
2.使用使用了别名
console.log(UtilFuc.UserName);
console.log(UtilFuc.add(0,2));//add()函数使用
  • export default 使用

1.定义 

//使用 export default 导出
const ChainKey = '99999';//常量定义

function add(a,b){
    return a+b;
}
function reduce(c,d){
    return c-d;
}

export default {

UserName:'张辉',//
PassWord:'123456',
ChainKey: ChainKey,
add: add,
reduce: reduce
}

2.使用

import 变量名 from '路径';

console.log(BridgeUtil.age);//变量
console.log(BridgeUtil.name);//变量
console.log(BridgeUtil.ChainKey);//变量
console.log(BridgeUtil.userAgent('safari'));//函数

学习博客:

https://www.cnblogs.com/var-chu/p/11121624.html

https://www.cnblogs.com/qixidi/p/10143543.html

https://www.jianshu.com/p/a5f1eee4b63a

### 集成 SuperMap GIS 到 Vue3 项目 要在 Vue3 中引入配置 SuperMap GIS 并加载现有的模型,可以按照以下方法实现: #### 安装依赖库 首先,在 Vue3 项目中安装所需的 npm 包 `supermap-iClient3D-for-Cesium` `cesium`。 ```bash npm install supermap-iclient3d-for-cesium cesium --save ``` 这一步会将必要的库下载到项目的 `node_modules` 文件夹中[^1]。 #### 初始化 Cesium Viewer 组件 在 Vue3 的组件文件中初始化 Cesium 的 Viewer 实例。可以通过创建一个自定义Vue 组件来完成此操作。 ```javascript <template> <div id="cesiumContainer"></div> </template> <script> import * as Cesium from "cesium"; import "cesium/Build/Cesium/Widgets/widgets.css"; export default { name: "CesiumViewer", data() { return { viewer: null, }; }, mounted() { this.viewer = new Cesium.Viewer("cesiumContainer", { terrainProvider: Cesium.createWorldTerrain(), }); // 设置初始视图为中国区域 const cameraPosition = Cesium.Cartesian3.fromDegrees( 103.84, 31.15, 5_000_000 ); this.viewer.camera.setView({ destination: cameraPosition, }); }, }; </script> <style scoped> #cesiumContainer { width: 100%; height: 100vh; } </style> ``` 上述代码实现了基本的地图容器设置以及相机位置调整[^2]。 #### 加载地形与影像数据 为了加载地形影像数据,需要调用 SuperMap 提供的服务接口。以下是具体实现方式: ```javascript mounted() { this.viewer = new Cesium.Viewer("cesiumContainer", { terrainProvider: Cesium.createWorldTerrain(), }); // 添加天地图作为底图 let tileLayer = this.viewer.scene.primitives.add( new Cesium.PrimitiveCollection() ); let imageryUrl = "https://t{s}.tianditu.gov.cn/DataServer?T=vec_w&X={x}&Y={y}&L={z}"; let terrainUrl = "https://t{s}.tianditu.gov.cn/DataServer?T=ter_w&X={x}&Y={y}&L={z}"; let tiandituImageryProvider = new Cesium.WebMapTileServiceImageryProvider({ url: imageryUrl.replace("{s}", Math.floor(Math.random() * 7)), layer: "", style: "", format: "image/jpeg", maximumLevel: 19, }); let tiandituTerrainProvider = new Cesium.WebMapTileServiceImageryProvider({ url: terrainUrl.replace("{s}", Math.floor(Math.random() * 7)), layer: "", style: "", format: "image/jpeg", maximumLevel: 19, }); this.viewer.imageryLayers.addImageryProvider(tiandituImageryProvider); this.viewer.terrainProvider = Cesium.createWorldTerrain({ requestWaterMask: true, requestVertexNormals: true, }); // 调整相机视角至目标区域 const cameraPosition = Cesium.Cartesian3.fromDegrees(116.4, 39.9, 500000); // 北京地区 this.viewer.camera.flyTo({ destination: cameraPosition, }); }, ``` 通过以上代码片段,能够成功加载天地图的矢量瓦片地形数据,并将视角定位在北京地区[^3]。 #### 加载 3D 模型 (3DTiles) 如果需要加载已有的 3D 模型(例如 `.b3dm`, `.gltf` 或其他支持的格式),可以直接利用 Cesium 的 `Cesium3DTileset` 类。 ```javascript methods: { loadModel(url) { const tileset = this.viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ url: url, }) ); tileset.readyPromise.then((tileset) => { console.log(`Model loaded successfully!`); this.viewer.zoomTo(tileset); }).catch((error) => { console.error('Error loading model:', error); }); } } // 使用时调用该函数 this.loadModel("http://example.com/path/to/model/tileset.json"); ``` 这段代码展示了如何动态加载外部托管的 3D 模型资源[^4]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值