vue2项目 webpack 打包后的代码重复

发布于 2022-09-11 15:21:06 字数 3093 浏览 27 评论 0

找到问题了, vux 官方模板的问题

在 vux 下找到了 issues
https://github.com/airyland/v...
不过暂无解决办法

项目描述

项目是移动端 vue2 项目, 采用 vux 作为 ui 框架, 使用 vux 官方模板创建
使用了 vue-router, vuex
webpack 版本为 3.6+

问题描述

期初是发现在根组件 App.vue 的 export default 上面写 console.log 会输出2遍
然后打包, 查看打包后的代码, 发现了很奇怪的问题

App.vue 中部分代码如下图

clipboard.png

打包好的 app.js 中部分代码如下图

clipboard.png

发现这句 console.log 在打包后的文件中出现了2遍
而且 computed 跟 methods 中的代码也出现了2遍

clipboard.png

我在自己另一个PC端的 vue2 + element-ui 项目, 是 webpack2的, 试了下并没有相同的问题

不知道是 webpack3 哪里配置有问题还是什么情况

最小化代码测试

删除了所有页面业务逻辑代码, 还是有问题, 感觉是 webpack 配置有问题, 跟写的页面代码关系不大
App.vue

<template>
  <div class="mc-app" style="height:100%;">
  已打开页面
  </div>
</template>

<script>
console.log('enter')
export default {
  components: {},
  data() {
    return {
    }
  }
}
</script>

main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  render: h => h(App)
}).$mount('#app-box')

build后生成的app.js

webpackJsonp([1], {
    NHnr: function(n, e, t) {
        "use strict";
        Object.defineProperty(e, "__esModule", {
            value: !0
        });
        var r = t("IvJb");
        console.log("enter");
        console.log("enter");
        var o = {
            components: {},
            data: function() {
                return {}
            }
        },
        c = function() {
            var n = this,
            e = n.$createElement;
            return (n._self._c || e)("div", {
                staticClass: "mc-app",
                staticStyle: {
                    height: "100%"
                }
            },
            [n._v("\n已打开页面\n")])
        },
        a = [],
        l = {
            render: c,
            staticRenderFns: a
        },
        s = l,
        i = t("C7Lr"),
        u = i(o, s, !1, null, null, null),
        p = u.exports;
        r.a.config.productionTip = !1,
        new r.a({
            render: function(n) {
                return n(p)
            }
        }).$mount("#app-box")
    }
},
["NHnr"]);
//# sourceMappingURL=app.f04b99a5a5fe2fad1bb2.js.map

最小化后项目代码

链接: https://pan.baidu.com/s/1_5U8... 提取码: w36u

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独享拥抱 2022-09-18 15:21:06

vux-loader的问题,我中午找了下,找到问题所在了
具体内容写在issues里面了
https://github.com/airyland/v...
需要作者修复下, 暂时临时改动了下 vux-loader 的代码解决了

若相惜即相离 2022-09-18 15:21:06
new webpack.optimize.UglifyJsPlugin()

这句写了嘛

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文