重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天就跟大家聊聊有关如何在vue2.0项目中使用Cesium,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联是一家集网站建设,兰考企业网站建设,兰考品牌网站建设,网站定制,兰考网站建设报价,网络营销,网络优化,兰考网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
安装cesium
在已有项目中执行,
npm i cesium
修改配置
build/webpack.base.conf.js
1、定义 Cesium 源码路径
const cesiumSource = '../node_modules/cesium/Source' 'use strict' const path = require('path') const utils = require('./utils') const config = require('../config') const vueLoaderConfig = require('./vue-loader.conf') //--cesium--配置 const cesiumSource = '../node_modules/cesium/Source';
2、在output 里加入sourcePrefix: ' ' 让webpack 正确处理多行字符串
3、配置 amd参数
4、module中在rules后添加 unknownContextCritical: false,
module.exports = { context: path.resolve(__dirname, '../'), entry: { app: ["babel-polyfill", './src/main.js'] }, output: { path: config.build.assetsRoot, filename: '[name].js', publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath, //--cesium--配置------------------------------------ sourcePrefix: ' ' }, //--cesium--配置---------------------------------------- amd:{ toUrlUndefined: true }, resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), //--cesium--配置 'cesium': path.resolve(__dirname, cesiumSource) } }, module: { rules: [ ... ], //--cesium--配置------------------------------------- //unknownContextRegExp: /^.\/.*$/ unknownContextCritical: false, } }
build/webpack.dev.conf.js
1、定义 Cesium 源码路径和Cesium Workers 路径
const cesiumSource = 'node_modules/cesium/Source' const cesiumWorkers = '../Build/Cesium/Workers'
(注意这里的 node_modules 与webpack.base.conf.js的不同,前面没有../)
2、定义CESIUM_BASE_URL变量
3、在plugins 中加入下面插件,拷贝静态资源
plugins: [ new webpack.DefinePlugin({ 'process.env': require('../config/dev.env'), //--cesium--配置------------------------------------------- 'CESIUM_BASE_URL': JSON.stringify('') }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true }), //--cesium--配置--------------------------------------------- new CopyWebpackPlugin([ { from: path.join(cesiumSource, cesiumWorkers), to: 'Workers' } ]), //flag new CopyWebpackPlugin([ { from: path.join(cesiumSource, 'Assets'), to: 'Assets' } ]), new CopyWebpackPlugin([ { from: path.join(cesiumSource, 'Widgets'), to: 'Widgets' } ]), new CopyWebpackPlugin([ { from: path.join(cesiumSource, 'ThirdParty/Workers'), to: 'ThirdParty/Workers' } ]), new CopyWebpackPlugin([ { from: 'ThirdParty', to: 'ThirdParty' } ]), // copy custom static assets new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.dev.assetsSubDirectory, ignore: ['.*'] } ]) ]
build/webpack.prod.conf.js
1、定义
const cesiumSource = 'node_modules/cesium/Source'; const cesiumWorkers = '../Build/Cesium/Workers';
2、定义'CESIUM_BASE_URL'变量
3、在plugins 中加入下面插件,拷贝静态资源
plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.DefinePlugin({ 'process.env': env, //--cesium--配置-------------------------------------- 'CESIUM_BASE_URL': JSON.stringify('static') }), ... new HtmlWebpackPlugin({ ... }, //--cesium--配置-------------------------------------- new CopyWebpackPlugin([ { from: path.join(cesiumSource, cesiumWorkers), to: 'static/Workers' } ]),//flag new CopyWebpackPlugin([ { from: path.join(cesiumSource, 'Assets'), to: 'static/Assets' } ]), new CopyWebpackPlugin([ { from: path.join(cesiumSource, 'Widgets'), to: 'static/Widgets' } ]), new CopyWebpackPlugin([ { from: path.join(cesiumSource, 'ThirdParty/Workers'), to: 'ThirdParty/Workers' } ]), new CopyWebpackPlugin([ { from: 'ThirdParty', to: 'ThirdParty' } ]), ...
看完上述内容,你们对如何在vue2.0项目中使用Cesium有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。