智能照明系统APP-本地串口
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.
 
 
 
 
 
 
LightingSystemApp-serial/.svn/pristine/7e/7edb283c03fa3730a1a985ddec6...

92 lines
3.0 KiB

const path = require('path')
const webpack = require('webpack')
const WebpackOptimizePlugin = require('./packages/webpack-optimize-plugin')
const {
src,
lib
} = require('@dcloudio/uni-h5/path')
const resolve = dir => path.resolve(__dirname, './', dir)
module.exports = (api, options) => {
if (!process.env.UNI_OPT_TREESHAKINGNG) {
return
}
if (process.env.NODE_ENV !== 'production' || process.env.UNI_PLATFORM !== 'h5') {
return
}
// 组件
const uniComponentsPath = resolve('.tmp/components.js')
const uniInvokeApiPath = resolve('.tmp/invoke-api.js')
const uniServiceApiPath = resolve('.tmp/api.js')
const uniApiProtocolPath = resolve('.tmp/protocol.js')
const uniApiSubscribePath = resolve('.tmp/subscribe.js')
const uniH5AppComponentsPath = resolve('.tmp/app-components.js')
const uniH5AppMixinsPath = resolve('.tmp/app-mixins.js')
const uniH5SystemRoutes = resolve('.tmp/system-routes.js')
options.transpileDependencies.push(/vue-cli-plugin-uni-optimize/)
options.transpileDependencies.push(/uni-h5/)
api.configureWebpack(webpackConfig => {
return {
watch: true,
resolve: {
alias: {
['uni-' + process.env.UNI_PLATFORM]: path.join(lib, `${process.env.UNI_PLATFORM}/main.js`),
'uni-core': path.join(src, 'core'),
'uni-view': path.join(src, 'core/view'),
'uni-service': path.join(src, 'core/service'),
'uni-shared': path.join(src, 'shared'),
'uni-mixins': path.join(src, 'core/view/mixins'),
'uni-helpers': path.join(src, 'core/helpers'),
'uni-platform': path.join(src, 'platforms/' + process.env.UNI_PLATFORM),
// tree shaking
'uni-components': uniComponentsPath,
'uni-invoke-api': uniInvokeApiPath,
'uni-service-api': uniServiceApiPath,
'uni-api-protocol': uniApiProtocolPath,
'uni-api-subscribe': uniApiSubscribePath,
// h5 components
'uni-h5-app-components': uniH5AppComponentsPath,
'uni-h5-app-mixins': uniH5AppMixinsPath,
'uni-h5-system-routes': uniH5SystemRoutes
}
},
plugins: [
new WebpackOptimizePlugin(),
new webpack.DefinePlugin({
__VERSION__: JSON.stringify(require('@dcloudio/uni-' + process.env.UNI_PLATFORM + '/package.json').version),
__PLATFORM__: JSON.stringify(process.env.UNI_PLATFORM)
}),
new webpack.ProvidePlugin({
console: [path.join(src, 'core/helpers/console'), 'default'],
UniViewJSBridge: [path.join(src, 'core/view/bridge/index')],
UniServiceJSBridge: [path.join(src, 'core/service/bridge/index')]
})
]
}
})
api.chainWebpack(webpackConfig => {
// Vue
webpackConfig.module
.rule('vue')
.use('vue-loader')
.tap(options => Object.assign(options, {
isH5TreeShaking: true,
cacheDirectory: false,
cacheIdentifier: false
}))
.end()
.uses
.delete('cache-loader')
})
}