vue3 chunk-vendors 问题

我现在是一个vue3的多页面应用
vue.config.js 配置如下

module.exports = {
  pages: {
    index: {
      entry: './src/pages/index.ts',
      output: 'index.html',
      filename: 'index.html',
      chunks: ['chunk-vendors', 'index']
    },
    user: {
      entry: './src/pages/user.ts',
      output: 'user.html',
      filename: 'index.html',
      chunks: ['chunk-vendors', 'user']
    }
  }
}

pages/index.ts

import { createApp } from 'vue'
import App from './index.vue'
import '../assets/scss/base.scss'

const app = createApp(App)
app.mount('#app')

pages/index.vue

<template>
  <div class="page page-index">
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  name: 'Index'
})
</script>

<style lang="scss">
.page {
  width: 100%;
  height: 100vh;
  background: #f8f8f8;
}
</style>

pages/user.ts

import { createApp } from 'vue'
import App from './user.vue'
import '../assets/scss/base.scss'

const app = createApp(App)
app.mount('#app')

pages/user.vue

<template>
  <div class="page page-user"></div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  name: 'User'
})
</script>

<style lang="scss">
.page {
  width: 100%;
  height: 100vh;
  background: #f8f8f8;
}
</style>

此时执行yarn run build 生成文件为
image.png

之后我在index.vue中增加组件

components/CustomHeader.vue

<template>
  <div class="custom-header"></div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
  name: 'CustomHeader'
})
</script>

<style lang="scss" scoped>
  .custom-header {
    width: 100%;
    height: 44px;
    background: #f00;
  }
</style>

修改 pages/index.vue
image.png

之后执行 yarn run build
image.png

此时我发现生成的三个文件的hash值都产生了变化,如何不让 chunk-vendors 和 user 发生变化,这个配置要如何修改。

就是我修改那个页面 那么这个只有这一个页面的hash值发生变化 这个要如何做到。

阅读 3.2k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题