bk-shop/config/test.js

82 lines
2.5 KiB
JavaScript
Executable File

/* eslint-disable import/no-commonjs */
const path = require('path')
module.exports = {
env: {
NODE_ENV: '"production"'
},
h5: process.env.APP_CDN
? {
output: {
filename: 'js/[name].[hash:8].js',
chunkFilename: 'js/[name].[chunkhash:8].js'
},
miniCssExtractPluginOption: {
filename: 'css/[name].[hash:8].css',
chunkFilename: 'css/[id].[hash:8].css'
},
webpackChain(chain) {
// const pkg = require(path.resolve(__dirname, '../package.json'))
// const { publicPath, bucket: CDNBucket, path: CDNPath } = pkg.cdn
const publicPath = process.env.APP_PUBLIC_PATH
const CDNPath = process.env.APP_CDN_PATH
let plugin = {}
if (process.env.APP_CDN == 'aws') {
plugin = {
'asw-s3': {
plugin: require('webpack-s3-plugin'),
args: [
{
exclude: /.*\.html$/,
s3Options: {
accessKeyId: process.env.APP_CDN_KEY,
secretAccessKey: process.env.APP_CDN_SCERET,
region: process.env.APP_CDN_REGION,
ACL: ''
},
s3UploadOptions: {
Bucket: process.env.APP_CDN_BUCKET
},
basePath: CDNPath
// cdnizerOptions: {
// defaultCDNBase: 'http://asdf.ca'
// }
}
]
}
}
}
chain.output
.publicPath(`${publicPath}/${CDNPath}/`)
chain.merge({
plugin
// plugin: {
// 'qn-webpack': {
// plugin: require('qn-webpack'),
// args: [{
// accessKey: process.env.CDN_ACCESS_KEY,
// secretKey: process.env.CDN_SECRET_KEY,
// bucket: CDNBucket,
// path: CDNPath,
// exclude: /(?:manifest\.json|\.map)$/
// }]
// }
// }
})
}
}
: {
output: {
filename: 'js/[name].[hash:8].js',
chunkFilename: 'js/[name].[chunkhash:8].js'
},
miniCssExtractPluginOption: {
filename: 'css/[name].[hash:8].css',
chunkFilename: 'css/[id].[hash:8].css'
}
}
}