From e9057307325f47df16a8c19a25071e672ad6a9c1 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 4 Jun 2020 17:51:23 +0800 Subject: [PATCH] fix(app-plus): Ensure ASCII-safe (production) --- packages/uni-app-plus/lib/uni.config.js | 16 ++++++++++++++-- .../build/webpack.nvue.conf.js | 14 ++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/packages/uni-app-plus/lib/uni.config.js b/packages/uni-app-plus/lib/uni.config.js index 3a5a7a1f3..29c64d0fe 100644 --- a/packages/uni-app-plus/lib/uni.config.js +++ b/packages/uni-app-plus/lib/uni.config.js @@ -36,9 +36,21 @@ module.exports = { copyOptions.push(path.resolve(__dirname, '../dist/view.css')) copyOptions.push(path.resolve(__dirname, '../dist/view.umd.min.js')) // TODO 后续common与v3目录应该合并 - copyOptions.push(path.resolve(__dirname, process.env.UNI_USING_NVUE_COMPILER ? '../template/common' : '../template/weex')) + copyOptions.push(path.resolve(__dirname, process.env.UNI_USING_NVUE_COMPILER ? '../template/common' + : '../template/weex')) copyOptions.push(path.resolve(__dirname, '../template/v3')) } return copyOptions + }, + chainWebpack (config) { + if (process.env.NODE_ENV === 'production') { + config.optimization.minimizer('terser').tap((args) => { + if (!args[0].terserOptions.output) { + args[0].terserOptions.output = {} + } + args[0].terserOptions.output.ascii_only = true + return args + }) + } } -} +} diff --git a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js index a8e0f1dcf..658596589 100644 --- a/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js +++ b/packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js @@ -2,7 +2,8 @@ const fs = require('fs') const path = require('path') const webpack = require('webpack') const VueLoaderPlugin = require('@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/plugin') -const CopyWebpackPlugin = require('copy-webpack-plugin') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const TerserPlugin = require('terser-webpack-plugin') const { getNVueMainEntry, @@ -238,7 +239,16 @@ module.exports = function () { hints: false }, optimization: { - namedModules: false + namedModules: false, + minimizer: [ + new TerserPlugin({ + terserOptions: { + output: { + ascii_only: true + } + } + }) + ] }, output: { path: process.env.UNI_OUTPUT_DIR, -- GitLab