webpack 资源内联

资源内联

webpack 也太迷了

把字体、图片等资源内联到代码里面去

上报相关的一些点,比如 pagestart、css 初始化、css 初始化完成、js初始化、js 初始化完成。

这些都一般内联到 html 里面去,而不是单个文件上报

资源内联的意义

  • 代码层面:
    • 页面框架的初始化脚本
    • 上报相关打点
    • css 内联避免页面内抖动
  • 请求层面
    • 小图片或者字体内联(url-loader)
    • 减少 HTTP 网络请求数

HTML 和 JS 的内联

npm install raw-loader@0.5.1 -D

raw-loader 内联 html

<script>${require('raw-loader!babel-loader!./meta.html')}</script>

raw-loader 内联 JS

<script>${require('raw-loader!babel-loader!../node_modules/lib-flexible')}</script>

CSS 的内联

方案一:借助 style-loader

设置一个参数

方案二:借助 html-inline-css-webpack-plugin

这种用的更广泛

打包好的 css chunk 代码 内联到 html 的 head 与 head 之间

module.exports = {
  module: {
    rules: [
      test: /.scss$/,
      use: [
      	{
      		loader: 'style-loader',
     			options: {
      			insertAt: 'top', // 样式插入到 head
      			singleton: 'true', // 将所有的 style标签都合成一个
      		}
      	},
  			"css-loader",
  			"sass-loader"
    	],
    ],
  }
};

这里写了好半天并没有成功 , 蛋疼。。。

原文地址:https://www.cnblogs.com/ssaylo/p/13652470.html