vue-cli3.0サードパーティ依存パッケージを無視する方法
3453 ワード
先日、vueでビジネスモジュールを再構築する必要があり、通常の開発では議論されていませんが、パッケージ化時にビジネスで使用されるサードパーティ依存パッケージを排除する必要があります.コードは次のとおりです.
that's all
転載先:https://juejin.im/post/5c7a39156fb9a04a0f65e4e1
//main.js
import Vue from 'vue';
import Cesium from 'cesium/Cesium'; // ,
import Widgets from 'cesium/Widgets/widgets.css'
Vue.prototype.Cesium = Cesium;
//vue.config.js( )
const cesiumSource = "node_modules/cesium/Source";
const cesiumWorkers = '../Build/Cesium/Workers';
module.exports = {
chainWebpack: config => {
//
.resolve.alias.set('cesium', path.resolve(__dirname, cesiumSource)).end().end()
},
configureWebpack: config => {
let settings = {};
if (process.env.NODE_ENV === 'production') { // ,
settings = {
plugins: [
new webpack.DefinePlugin({
'CESIUM_BASE_URL': JSON.stringify('static')
}),
new CopyWebpackPlugin([{
from: path.join(cesiumSource, cesiumWorkers),
to: 'static/Workers'
}]),
new CopyWebpackPlugin([{
from: path.join(cesiumSource, 'Assets'),
to: 'static/Assets'
}]),
new CopyWebpackPlugin([{
from: path.join(cesiumSource, 'Widgets'),
to: 'static/Widgets'
}])
],
externals: {
/**
*key: main.js
*value:
*/
"cesium/Cesium": "Cesium" // js
"cesium/Widgets/widgets.css": "Widgets" // css
}
}
} else {
settings = {
plugins: [
new webpack.DefinePlugin({
'CESIUM_BASE_URL': JSON.stringify('')
}),
new CopyWebpackPlugin([{
from: path.join(cesiumSource, cesiumWorkers),
to: 'Workers'
}]),
new CopyWebpackPlugin([{
from: path.join(cesiumSource, 'Assets'),
to: 'Assets'
}]),
new CopyWebpackPlugin([{
from: path.join(cesiumSource, 'Widgets'),
to: 'Widgets'
}]),
]
}
}
return settings
}
that's all
転載先:https://juejin.im/post/5c7a39156fb9a04a0f65e4e1