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.
82 lines
1.8 KiB
82 lines
1.8 KiB
9 months ago
|
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}`
|
||
|
}
|
||
|
}
|
||
|
])
|
||
|
})
|
||
|
|
||
|
if (process.env.UNI_PLATFORM !== 'h5') {
|
||
|
plugins.push('@babel/plugin-transform-runtime')
|
||
|
}
|
||
|
|
||
|
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
|