vue.js 将文件放置到每个条目的单独文件夹中

ha5z0ras  于 2023-05-18  发布在  Vue.js
关注(0)|答案(1)|浏览(151)

我的项目目前使用Vite、Vue3和TS
我有下一个项目结构Link
我想建立和地方每个index.html文件,其风格,脚本和资产到一个文件夹中的每个输入条目
目前,当我使用这个vite.config运行构建时

build: {
  rollupOptions: {
    input: {
      order: fileURLToPath(
        new URL("./src/views/Order/index.html", import.meta.url)
      ),
      catalog: fileURLToPath(
        new URL("./src/views/Catalog/index.html", import.meta.url)
      ),
      shops: fileURLToPath(
        new URL("./src/views/Shops/index.html", import.meta.url)
      ),
    },
    output: {
      dir: "dist-chunk",
    },
  },
},

它将文件放置在dist中,就像这样Link
正如您所看到的,我为每个条目和index.html都设置了单独的文件夹。但所有其他相关文件都放在assets目录中
但我想要这样的东西,当每个脚本和样式放在同一个文件夹与index.html
Link
Vite允许这样的构建策略吗?我如何配置Vite.config.ts?

snz8szmq

snz8szmq1#

rollupOptions: {
        input: path.resolve(__dirname, 'src/index.html'),
        output: {
            assetFileNames: (assetInfo: { name: any }) => {
                let extType = assetInfo.name!.split('.').at(1)
                if (/png|jpe?g|webp/i.test(extType)) {
                    extType = 'img'
                }
                return `assets/${extType}/[name]-[hash][extname]`
            },
            chunkFileNames: 'assets/js/[name]-[hash].js',
            entryFileNames: 'assets/js/[name]-[hash].js',
        },
    },

相关问题