123 lines
3.3 KiB
JavaScript
Executable File
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()
|
|
// }
|
|
}
|