cesium外掛配置檔案
阿新 • • 發佈:2020-12-24
技術標籤:vue
const CopyWebpackPlugin = require('copy-webpack-plugin')
const webpack = require('webpack')
const path = require('path')
CesiumJS原始碼的路徑
const cesiumSource = 'node_modules/cesium/Source'
const cesiumWorkers = '../Build/Cesium/Workers'
const CopywebpackPlugin = require('copy-webpack-plugin');
module.exports = {
// productionSourceMap:false
publicPath:'./',//輸出的根路徑 預設是/ 如果你的網站是app.com/vue 這更改此配置項
outputDir:'dist',//構建輸出目錄
// assetsDir:'assets',//靜態資源目錄(js,css,img,fonts)
productionSourceMap: true,
lintOnSave:false,//是否開啟eslint儲存檢測,有效值: true || false || 'error'
devServer:{
open:false,//是否自動彈出
//host:'localhost' ,
//port:8088,//埠
https:false,
hotOnly:false,//熱更新
proxy : {}
},
/* 新增以下程式碼是為解決webpack如何編譯CesiumJS的一些怪癖 */
configureWebpack: {
/* 覆蓋webpack預設值,以便\t在每行之前新增製表符。CesiumJS有一些多行字串,因此我們需要使用空字首覆蓋此預設值''。 */
output: { sourcePrefix: ' ' },
/* 告訴CesiumJS,AMD webpack用於評估require語句的版本不符合標準toUrl函式。 */
amd: { toUrlUndefined: true },
// 解析節點模組使用的fs,解決了fs模組的某些第三方用法,該模組的目標是在節點環境而不是瀏覽器中使用
node: { fs: 'empty' },
//新增cesium 別名別名,以便我們可以在我們的應用程式碼中引用它
// resolve: { alias: { cesium: path.resolve(__dirname, cesiumSource)} },
resolve: {
alias: {
cesium: path.resolve(__dirname, './node_modules/cesium/Source'),
} ,
},
plugins: [
// Copy Cesium Assets, Widgets, and Workers to a static directory
new CopywebpackPlugin([ { from: path.join('node_modules/cesium/Build/Cesium', 'Workers'), to: 'Workers' } ]),
new CopywebpackPlugin([ { from: path.join('node_modules/cesium/Source', 'Assets'), to: 'Assets' } ]),
new CopywebpackPlugin([ { from: path.join('node_modules/cesium/Source', 'Widgets'), to: 'Widgets' } ]),
new CopywebpackPlugin([ { from: path.join('node_modules/cesium/Source', 'ThirdParty'), to: 'ThirdParty' } ]),
// Define relative base path in cesium for loading assets
new webpack.DefinePlugin({ CESIUM_BASE_URL: JSON.stringify('') }),
new webpack.ProvidePlugin({
$:"jquery",
jQuery:"jquery",
"windows.jQuery":"jquery"
})
],
module: {
rules:[
{
test:/\.js\.map$/,
use:{
loader:' file-loader'
}
}
],
unknownContextCritical: /^.\/.*$/,
unknownContextCritical: false
}
}
}