You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.8 KiB
78 lines
1.8 KiB
const webpack = require('webpack')
|
|
const plugins = []
|
|
|
|
if (process.env.UNI_OPT_TREESHAKINGNG) {
|
|
plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js'))
|
|
}
|
|
|
|
if (
|
|
(
|
|
process.env.UNI_PLATFORM === 'app-plus' &&
|
|
process.env.UNI_USING_V8
|
|
) ||
|
|
(
|
|
process.env.UNI_PLATFORM === 'h5' &&
|
|
process.env.UNI_H5_BROWSER === 'builtin'
|
|
)
|
|
) {
|
|
const path = require('path')
|
|
|
|
const isWin = /^win/.test(process.platform)
|
|
|
|
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
|
|
|
|
const input = normalizePath(process.env.UNI_INPUT_DIR)
|
|
try {
|
|
plugins.push([
|
|
require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
|
|
{
|
|
file (file) {
|
|
file = normalizePath(file)
|
|
if (file.indexOf(input) === 0) {
|
|
return path.relative(input, file)
|
|
}
|
|
return false
|
|
}
|
|
}
|
|
])
|
|
} catch (e) { }
|
|
}
|
|
|
|
process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
|
|
process.UNI_LIBRARIES.forEach(libraryName => {
|
|
plugins.push([
|
|
'import',
|
|
{
|
|
'libraryName': libraryName,
|
|
'customName': (name) => {
|
|
return `${libraryName}/lib/${name}/${name}`
|
|
}
|
|
}
|
|
])
|
|
})
|
|
|
|
const config = {
|
|
presets: [
|
|
[
|
|
'@vue/app',
|
|
{
|
|
modules: webpack.version[0] > 4 ? 'auto' : 'commonjs',
|
|
useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry'
|
|
}
|
|
]
|
|
],
|
|
plugins
|
|
}
|
|
|
|
const UNI_H5_TEST = '**/@dcloudio/uni-h5/dist/index.umd.min.js'
|
|
if (process.env.NODE_ENV === 'production') {
|
|
config.overrides = [{
|
|
test: UNI_H5_TEST,
|
|
compact: true,
|
|
}]
|
|
} else {
|
|
config.ignore = [UNI_H5_TEST]
|
|
}
|
|
|
|
module.exports = config
|