没有使用preload-webpack-plugin预提取的文件

问题描述 投票:2回答:1

我有一个与预取和预加载有关的问题。

  1. 我有vue应用,在构建后,我在dist / index.html中接收到双重加载的文件。您可以在下面看到它。
  2. 此外,“脚本”未预先加载/预取。我不知道为什么。我安装了一个插件。

    <head>
    <title></title>
    <link href=/app.128b43f14088f83cb6c0.js rel=preload as=script>
    <link href=/chunk-vendors.128b43f14088f83cb6c0.js rel=preload as=script>
    
    <div id=app></div>
    <script src=/chunk-vendors.128b43f14088f83cb6c0.js></script>
    <script src=/app.128b43f14088f83cb6c0.js></script>
    

vue.config.js

modules.export = {
    configureWebpack: () => {
        return {
            devtool: 'source-map',
            output: {
                filename: '[name].[hash].js',
                chunkFilename: '[name].[hash].js'
            },
            plugins: [
                new PreloadWebpackPlugin(),
                new CleanWebpackPlugin()
            ],
            resolve: {
                alias: {
                   styles: path.join(__dirname, 'src/assets')
                }
            }
        }
    }
}
javascript html vue.js webpack vue-cli
1个回答
1
投票

我有vue应用,在构建后,我在dist / index.html中接收到双重加载的文件。

Vue CLI已经注入了自己的preload plugin,因此您的插件正在复制预加载/预取。只需删除您的文件即可解决重复问题。

您应坚持使用Vue CLI已提供的版本,因为它已被修改为可与Vue CLI工具链一起使用。如果出于某些原因更喜欢使用自己的插件,则可以通过以下方式删除内置插件:

// vue.config.js
module.exports = {
  chainWebpack: config => {
    config.plugins.delete('preload')
    config.plugins.delete('prefetch')
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.