程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了自从 webpack 构建大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决自从 webpack 构建?

开发过程中遇到自从 webpack 构建的问题如何解决?下面主要结合日常开发的经验,给出你关于自从 webpack 构建的解决方法建议,希望对你解决自从 webpack 构建有所启发或帮助;

我刚刚将项目中旧的 CSS 和 Js 构建过程从 grunt(和更少的 CSS)迁移到 webpack 5(和 sCSS 中的 CSS),一切似乎都很好。但是有一个问题: 有时而不是这样

自从 webpack 构建

以下是 DevTools 中的心形:

.fa-heart:before {
    content: "";
}

Fontawesome webFonts 似乎没有正确加载,而是像这样加载

自从 webpack 构建

当我在 DevTools 中检查它时,心脏看起来是这样的

.fa-heart:before {
    content: "";
}

本来希望看到

.fa-heart:before {
    content: "\f004";
}

当我在 DevTools 中手动将其更改为该值时,它可以工作。

当我在浏览器中开始灯塔审核时,这可以重现:灯塔完成后的最后一次加载将始终如下所示。

老实说,我什至不知道如何用谷歌来解决这个问题。 我尝试使用 webfontloader 加载字体,但这对问题没有帮助。

我在 main.sCSS 中包含了这样的 Fontawesome:

@import "~@fortawesome/Fontawesome-pro/sCSS/Fontawesome";
@import "~@fortawesome/Fontawesome-pro/sCSS/light";
@import "~@fortawesome/Fontawesome-pro/sCSS/solID";

这是我的 webpack 配置的简化(更少条目)版本:

@H_345_14@module.exports = {
  entry: {
    './dist/styles.min': { import: './src/sass/main.sCSS' },'./dist/scripts.min.Js': { import: './src/Js/scripts.Js' },}
  module: {
    rules: [
      {
        test: require.resolve("jquery"),loader: "expose-loader",options: {
          exposes: ["$","jquery","jquery"],},{
        test: /\.s?[ac]ss$/i,use: [
          // Compiles Sass to CSS
          MiniCSSExtractPlugin.loader,"css-loader","sass-loader",],{
        test: /\.Jsx?$/,exclude: /(node_modules|bower_components)/,use: {
          loader: "babel-loader",options: {
            presets: [["@babel/preset-env",{ deBUG: false,useBuilTins: "usage",coreJs: 3 }],"@babel/preset-react"],plugins: [["@babel/plugin-transform-runtime",{ coreJs: 3 }]],{
        test: /(ignorE)/,use: {
          loader: "ignore-loader",{
        test: /\.(png|jpe?g|gif|svg|ttf|eot|woff2?)$/i,use: [
           {
            loader: "file-loader",options: {
              outputPath: "dist/assets/",publicPath: "/assets/",]
  },output: {
    path: __dirname,filename: "[name]?[contenthash]",resolve: {
    extensions: [".Jsx",".Js",".Json"],plugins: [
    new MiniCSSExtractPlugin({
      filename: "[name].CSS?[contenthash]",}),optimization: {
    minimize: !DEV_MODE,minimizer: [
      "...",new TerserPlugin({ extractComments: false }),new CSSMinimizerPlugin(),splitChunks: {
      cacheGroups: {
        polyfills: {
          test: /[\\/]node_modules[\\/](@babel|core-Js|regenerator|promisE)/,name: "./dist/polyfills.min.Js",chunks: "all",vendor: {
          test: /[\\/]node_modules[\\/](slick|bootstrap|jquery)/,name: "./dist/vendor.min.Js",}

解决方法

"\f004" is actually equivalent to "",但字符 "" 可能是因为您的 CSS 缺少 @charset "UTF-8" 规则。它可能会在最小化期间​​被剥离。

它可能发生在 terser-webpack-plugin (see this issuE) 中。您可以尝试将以下内容添加到您的网络包配置中:

TerserPlugin({
  terserOptions: { output: { ascii_only: true } }
})

更多信息:https://medium.com/@thinkpanda_75045/webpack-with-unicode-7a2c5eb22afd

类似问题:https://github.com/FortAwesome/Font-Awesome/issues/17644

大佬总结

以上是大佬教程为你收集整理的自从 webpack 构建全部内容,希望文章能够帮你解决自从 webpack 构建所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。