今天就跟大家聊聊有關(guān)如何在vue2.0項(xiàng)目中使用Cesium,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蘭考企業(yè)網(wǎng)站建設(shè),蘭考品牌網(wǎng)站建設(shè),網(wǎng)站定制,蘭考網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,蘭考網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
安裝cesium
在已有項(xiàng)目中執(zhí)行,
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參數(shù)
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的不同,前面沒(méi)有../)
2、定義CESIUM_BASE_URL變量
3、在plugins 中加入下面插件,拷貝靜態(tài)資源
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 中加入下面插件,拷貝靜態(tài)資源
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' } ]), ...
看完上述內(nèi)容,你們對(duì)如何在vue2.0項(xiàng)目中使用Cesium有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。