当前位置: 首页 > news >正文

新开发网站北京制作app

新开发网站,北京制作app,保险网站源码,赣州91人才网赣州招聘信息背景 最近在做公司内部的小程序脚手架#xff0c;为了兼容老项目和旧项目#xff0c;做了vue2taro,vue3taro两个模板#xff0c;发现terser-webpack-plugin在vue2和vue3中的使用方式并不相同#xff0c;同样的配置在vue3webpack5中生效#xff0c;但是在vue2webpack4中就…背景 最近在做公司内部的小程序脚手架为了兼容老项目和旧项目做了vue2taro,vue3taro两个模板发现terser-webpack-plugin在vue2和vue3中的使用方式并不相同同样的配置在vue3webpack5中生效但是在vue2webpack4中就不生效 vue3模板的解决办法在taro小程序terser-webpack-plugin插件不生效 已经做了说明本文主要介绍在vue2webpack4中的解决办法。 遇到的问题 首先说明下前提关于微信小程序我在package.json里面配置了四个命令如下 build:weapp: taro build --type weapp, //生产环境prod:weapp: cross-env NODE_ENVproduction npm run build:weapp -- --watch, //生产环境热编译dev:build:weapp: cross-env NODE_ENVdevelopment npm run build:weapp, //测试环境非热编译dev:weapp: cross-env NODE_ENVdevelopment npm run build:weapp -- --watch, //测试环境热编译通过查看taro源码已经知道在生产环境的时候源码里面会自动使用压缩 所以只需要在测试环境的时候做配置即可接着按照官网做了以下配置 // config/dev.js module.exports {mini: {webpackChain: (chain, webpack) {chain.merge({plugin: {install: {plugin: require(terser-webpack-plugin),args: [{terserOptions: {compress: true, // 默认使用terser压缩keep_classnames: true, // 不改变class名称keep_fnames: true, // 不改变函数名称},},],},},})},}, }运行 npm run dev:weapp发现确实起到了压缩效果demo编译后的体积由836kb变成了334kb 以为到这一步就大功告成啦no,no,no,才刚刚开始~哈哈哈哈接下来意想不到的发生啦… 当然如果你不需要配置dev:build:weapp这条命令当我没说… 运行 npm run dev:build:weapp发现并没有打包成功提示这个文件和已有的文件冲突 然后开始排查错误看了文档中附的这个链接《编写插件将 Taro 编译打包耗时缩短至三分之一》。 删除前面的配置按照这个文档进行配置(不做详细介绍文档里面都有)发现报如下错误 在minifyMainPackage.js里面打印minimizers发现已经存在terser插件,如果再创建就会报错 //minifyMainPackage.js const TerserPlugin require(terser-webpack-plugin)module.exports (ctx) {ctx.modifyWebpackChain(args {const chain args.chainconst minimizers chain.optimization.get(minimizer) || []console.log(minimizers,minimizers).....}) }此时运行如下却发现并不会报错 npm run dev:weapp但是minimizers打印出来的是[] 由此可以看出dev:build:weapp的时候terser已经存在无需重新添加但是dev:weapp的时候terser却不存在。 结合源码然后开始各种排查发现dev:build:weapp的时候虽然打印process.env.NODE_ENV出来的是development进入的是dev.js里面的逻辑但是在taro内部还是按照 production 添加了terser-webpack-plugin插件再次添加就会报错。 因此在minifyMainPackage.js加了一个判断判断插件存在就不再创建 附上完整代码 //minifyMainPackage.js const TerserPlugin require(terser-webpack-plugin)module.exports (ctx) {ctx.modifyWebpackChain(args {const chain args.chainconst minimizers chain.optimization.get(minimizer) || []// 检查是否已存在TerserPlugin实例避免重复添加const hasTerser minimizers.some(minimizer {return minimizer.constructor.name TerserPlugin})//没有则创建if(!hasTerser){chain.optimization.minimize(true)chain.merge({optimization: {minimize: true,minimizer: [new TerserPlugin({test: /\.(?:[js]sx?|mjs)$/, // 一般匹配JavaScript和JSX文件根据需要调整parallel: true,minify: TerserPlugin.swcMinify,cache: true,extractComments: true,sourceMap: true,terserOptions: {parse: {ecma: 8,},compress: {ecma: 5,warnings: false,arrows: false,collapse_vars: false,comparisons: false,computed_props: false,hoist_funs: false,hoist_props: false,hoist_vars: false,inline: false,loops: false,negate_iife: false,properties: false,reduce_funcs: false,reduce_vars: false,switches: false,toplevel: false,typeofs: false,booleans: true,if_return: true,sequences: true,unused: true,conditionals: true,dead_code: true,evaluate: true,},output: {ecma: 5,comments: false,ascii_only: true,},},}),],},})}}) } 然后在dev.js进行引入 const path require(path) module.exports {env: {NODE_ENV: development},defineConstants: {},plugins: [ path.resolve(__dirname, ./minifyMainPackage.js)],mini: {},h5: {}} } 对啦记得安装插件呀~ npm install -D terser-webpack-plugin3.0.5大功告成啦~ 完结撒花
http://www.w-s-a.com/news/723711/

相关文章:

  • 新公司注册网站传奇手游大型网站
  • 无极网站网站涉案多少人被抓网站的按钮怎么做
  • ds216j做网站做购物网站那个好
  • 做淘宝门头的网站阿里巴巴官网app
  • 安踏网站建设策划方案如何通过域名访问网站
  • 建设网站破解版seo查询 站长之家
  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录
  • 学seo朝阳区seo
  • 网站开发团队成员皮具网站建设
  • 国外外贸需求网站响应式布局网页
  • 手机端便民服务平台网站建设昆明网络哪家好
  • 产品网站建设找哪家舟山信息港
  • 唐山网站建设汉狮怎么样seol英文啥意思
  • 深圳小程序网站开发公司网页制作模板视频教程
  • 电子商务网站开发开题报告wordpress更改后台地址
  • 网站静态前端是什么工作
  • 餐饮门户网站 方案怎么做创业好项目
  • 做百度手机网站推广普通话的宣传标语
  • 记事本可以做网站吗网站服务器是主机吗
  • 手机网站被拦截怎么办怎么解决东营建设信息网网
  • 外贸网站模板免费微信网站开发技术
  • 视频盗版网站怎么做福州网站seo
  • 成都金铭 网站建设做网站包含的技术
  • 长沙的网站建设公司哪家好做网站应选那个主题
  • 公司网站百度搜不到如何自己做一个网站