一:创建项目
npm init vite@latest
二:进入,安装依赖
三:配置依赖,设置别名,方便使用@
npm install @types/node --save-dev
然后在vite.config.js中配置
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig({
plugins: [vue()],
//解决“vite use `--host` to expose”
base: './', //不加打包后白屏
server: {
host: '0.0.0.0',
port: 8080,
open: true
},
resolve: {
//别名配置,引用src路径下的东西可以通过@如:import Layout from '@/layout/index.vue'
alias: [
{
find: '@',
replacement: resolve(__dirname, 'src')
}
],
// 类型: string[] 导入时想要省略的扩展名列表。
extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.vue', '.mjs']
}
})
配置完成之后可能会报错,找不到模块,需要在tsconfig.json文件中添加
"baseUrl": "./",
"paths":{
"@": ["src"],
"@/*": ["src/*"],
四:引入sass和sass-loader
//安装sass库
npm install -D sass sass-loader
同时修改style.css样式文件:
html,
body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
五:引入cesium
//下载Cesium包
npm install cesium -S
将cesium\Build下的Cesium文件夹拷贝粘贴到项目根目录public文件夹下,然后在index.html文件中引入Cesium.js和widgets.css
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue + TS+ Cesium</title>
<script src="/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="/Cesium/Widgets/widgets.css">
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
然后在项目中使用cesium,但是在App.vue中我们直接以window对象的形式全局引用Cesium,并且将创建的三维场景Viewer抛出到window全局,通常情况下,这样是完全没问题的,但是TypeScript 需要开发者做到先声明后使用。
需要在项目根目录下创建globe.d.ts文件,并生命全局变量
declare interface Window {
Cesium: any;
Viewer: any;
}