bk-shop-admin/vue.config.js

123 lines
3.3 KiB
JavaScript
Executable File

const path = require('path')
const QiniuPlugin = require('qiniu-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const WebpackAliyunOss = require('webpack-aliyun-oss')
const SRC_PATH = path.resolve(__dirname, 'src')
const envVars = process.env
// const mode = process.env
// console.log(process.argv)
// // console.log(JSON.stringify(process.env))
// console.log(`build mode: ${mode}`);
// require('dotenv-flow').config({
// node_env: mode
// })
console.log(process.env.NODE_ENV)
Object.keys(envVars).forEach((key) => {
if (key.indexOf('VUE_APP') > -1) {
console.log(`${key}: ${envVars[key]}`)
}
})
module.exports = {
lintOnSave: false,
publicPath: process.env.VUE_APP_PUBLIC_PATH,
runtimeCompiler: true,
css: {
loaderOptions: {
sass: {
sassOptions: {
includePaths: [SRC_PATH]
},
additionalData: `@import "~@/style/imports.sass"`
},
scss: {
additionalData: `@import "~@/style/imports.scss";`
}
}
},
configureWebpack: config => {
if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'slb') {
config.devtool = 'eval-source-map'
}
if (process.env.VUE_APP_OSS_CDN == 'true') {
config.plugins.push(
// new QiniuPlugin({
// ACCESS_KEY: process.env.VUE_APP_QINIU_ACCESS_KEY,
// SECRET_KEY: process.env.VUE_APP_QINIU_SECRET_KEY,
// bucket: process.env.VUE_APP_QINIU_BUCKET,
// path: process.env.VUE_APP_QINIU_PATH
// })
new WebpackAliyunOss({
from: ['./dist/**', '!./dist/**/*.html', '!./dist/**/*.ico'], // build目录下除html之外的所有文件
dist: '/ecshopx-admin', // oss上传目录
region: process.env.VUE_APP_ALIOSS_REGION,
accessKeyId: process.env.VUE_APP_ALIOSS_ACCESS_KEY_ID,
accessKeySecret: process.env.VUE_APP_ALIOSS_ACCESS_KEY_SECRET,
bucket: process.env.VUE_APP_ALIOSS_BUCKET,
})
)
}
config.plugins.push(
new CopyWebpackPlugin([{
from: path.resolve(__dirname, process.env.VUE_APP_PRODUCT_MODEL == 'platform' ? "./newpc_bbc" : './newpc_b2c'),
to: path.resolve(__dirname, "./dist/newpc"),
ignore: [".*"],
}])
)
return {
resolve: {
alias: {
'@/': path.resolve(__dirname, './src'),
lodash: 'lodash-es'
}
}
}
},
chainWebpack: config => {
config.plugins.delete('preload')
config.plugins.delete('prefetch')
},
devServer: {
proxy: {
'/api': {
target: process.env.VUE_APP_PROXY_API,
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
// devServer: {
// port: 10086,
// disableHostCheck: true
// }
// configureWebpack: {
// resolve: {
// alias: {
// '@/': path.resolve(__dirname, './src'),
// lodash: 'lodash-es'
// }
// }
// }
// chainWebpack(config) {
// config.module
// .rule('fonts')
// .test(/.(ttf|otf|eot|woff|woff2)$/)
// .use('url-loader')
// .loader('url-loader')
// .tap((options) => {
// options = {
// // limit: 10000,
// name: '/static/fonts/[name].[ext]'
// }
// return options
// })
// .end()
// }
}