今天就跟大家聊聊有关如何在vue2.0项目中使用Cesium,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
10年积累的成都网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有常熟免费网站建设让你可以放心的选择与我们合作。安装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有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联成都网站设计公司行业资讯频道,感谢大家的支持。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。