账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue打包后文件过大设置externals
    39
    0

    1.问题描述: 项目执行npm run build后发现打包文件很大 为解决问题采用cdn配合 webpack的externals功能将某些特定文件不予打包!现阶段问题是是 v-chart这个库容量很大 但是 把他设置到externals里打包后 文件容量也没有丝毫变化好像没有生效一样

    2.代码

    if (isProduction) {
          config.externals = {
            'vue': 'Vue',
            'echarts': 'echarts',
            'VCharts': 'v-charts',
            'element-ui': 'ELEMENT'
          }
          
          

    3我在页面手动删除 import VCharts from 'v-charts' 打包后 容量直接从1.5M变成 400k 请问这种情况如何处理谢谢大家了

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 一曲冷凌霜 普通会员 1楼

      在Vue.js中,如果你想将一个组件的依赖(如API)打包为独立的库文件,而不是将整个组件包含在HTML文件中,你可以使用externals选项来指定这些依赖。externals选项允许你为外部组件定义一个唯一的名字(或者使用特殊符号来指定名称),并将其添加到JavaScript和HTML文件中,从而在外部应用中引用。

      以下是一个简单的例子,说明如何在Vue.js组件中设置externals选项:

      ```javascript import MyComponent from './MyComponent.vue';

      export default { components: { MyComponent }, externals: { MyComponent: 'my-component' } } ```

      在这个例子中,我们定义了一个名为MyComponent的Vue组件,并为它设置了externals选项。externals选项接受一个字符串参数,其中包含了要将组件定义为外部依赖的名称。在这个例子中,我们将组件定义为'my-component'

      然后,我们可以在其他组件或外部应用中使用这个依赖,例如:

      ```html

      ```

      在这个例子中,我们创建了一个包含<my-component>元素的模板,并在HTML文件中引用了这个组件,它引用了名为my-component的依赖。这样,其他组件在不依赖整个组件的情况下就可以通过my-component这个名字来引用MyComponent组件。

      注意,externals选项只能在JavaScript文件中使用,不能在HTML文件中使用。如果你希望在HTML文件中使用这个依赖,你需要在HTML文件中引用组件,而不是直接使用依赖名称。例如:

      ```html

      ```

      在这个例子中,我们使用了<my-component>元素来引用MyComponent组件,并将依赖名称'my-component'添加到了<my-component>元素的externals选项中。这样,HTML文件中就可以直接引用MyComponent组件,而无需依赖整个组件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部