• webpack报错收集整理


    ————————————————————————————————————————————

    1.Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'

    【报错场景】:使用插件html-webpack-plugin后,执行npm run build时出现

    【原因分析】:项目中有依赖的webpack的不能是全局,需要在项目中单独安装

    【解决方法】:在本地安装webpack npm install webpack --save-dev (简写:npm i webpack -D) 

    2.TypeError: CleanWebpackPlugin is not a constructor

    【报错场景】:在新版本webpack4.x中使用插件clean-webpack-plugin  

    const CleanWebpackPlugin = require('clean-webpack-plugin');
    ... ...
    new CleanWebpackPlugin(['dist'])

    【原因分析】:新版本的 clean-webpack-plugin 插件引入已经改为 

     const { CleanWebpackPlugin } = require('clean-webpack-plugin');  

    【解决方法】:

    const { CleanWebpackPlugin } = require('clean-webpack-plugin');   // 引入
    ... ... 
    new CleanWebpackPlugin()

    3.使用 webpack 打包,图片地址变成了 [object Module]

    这个问题是 file-loader 在 5.0.0 的更新中造成的:

    BREAKING CHANGES

    • minimum required nodejs version is 10.13.0
    • rename the esModules option to esModule
    • switch to ES modules by default (the option esModule is true by default)

    从更新日志看到,5.0.0 默认将 esModule 设置为了 true。所以我们只要显示的将它再改为 false 就好了,下面是一段配置示例:

    {
        test: /.(png|svg|jpg|gif)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              esModule: false,   // 修改为 false
              limit: 1024*5
            }
          }
        ]
    }

    url-loader 是对 file-loader 的封装,目的是可以使用 limit 来判断是否把图片编译成 base64 格式,最后还是会调用 file-loader,所以设置 esModule 同样有效。

  • 相关阅读:
    phonegap ios插件开发及无限后台运行解决
    iOS JSON解析
    ios上取得设备唯一标志的解决方案
    为iOS7重新设计你的App
    iOS多线程GCD 研究
    自定义用户环境
    启用SELinux保护
    shell编写一个批量添加用户脚本
    shell编写一个判断脚本
    shell使用特殊变量
  • 原文地址:https://www.cnblogs.com/uakora/p/12506858.html
Copyright © 2020-2023  润新知