美文网首页
阅读create-react-app webpack配置文件

阅读create-react-app webpack配置文件

作者: 吴晗君 | 来源:发表于2019-06-23 00:14 被阅读0次

注意点

如何解决moment.js多语言打包进vendor的问题?

两个解决方案

shouldInlineRuntimeChunk变量

在开发时是否关闭以script标签的形式加载manifest.json,大部分都是应该关闭的,因为这样可以减少一个网络请求。

css-loader的作用

主要来处理background:(url)还有@import这些语法。让webpack能够正确的对其路径进行模块化处理

文件名

在生产环节下基本都带了hash[name].[contenthash:8].js,css也是。

压缩没有用默认的,而是自己配置了一套js和css的,用来解决一些社区中遇到的问题。

各种样式loader代码重复

可以用getStyleLoaders方法进行抽象。

HtmlWebpackPlugin

在生产环境中要配置开启压缩,有很多配置选项。

InlineChunkHtmlPlugin

webpack运行时代码(我理解的就是webpack的一些公用代码)放在html中,而不是浪费一个请求去加载js文件。

CaseSensitivePathsPlugin

为了解决mac系统中文件名大小写不敏感导致的打包不报错的问题。

疑问

optimization.splitChunks为: [
  chunks: 'all',
  name: false, // // 抽取出来文件的名字,默认为 true,表示自动生成文件名。这个时候vendor的名称会变掉
]

如何设置才能达到抽离common-pagea-pageb;common-pagec-paged;的效果?

splitChunks: {
        chunks: 'all',
        name: false, // 抽取出来文件的名字,默认为 true,表示自动生成文件名。这个时候vendor的名称会变掉。
        cacheGroups: { 
          vendors: {
            test: /[\\/]node_modules[\\/]/,
            priority: -10,
            chunks: 'all',
          },
          default: {
            minChunks: 2, // 为什么这里设置为2就会抽离失败?
            priority: -20,
            chunks: 'all',// 测试发现需要在这里也写all才可以做到common文件被抽离为单个文件。而且,多个common文件会被打包到同一个文件内。
            reuseExistingChunk: true
          }
        }
      },

为什么这里设置为2就会抽离失败?和文章写的不符

ManifestPlugin插件作用?

service worker?

相关文章

网友评论

      本文标题:阅读create-react-app webpack配置文件

      本文链接:https://www.haomeiwen.com/subject/qkvbqctx.html