xql123xql 2024-04-11 10:44 采纳率: 63.2%
浏览 84
已结题

webpack运行出现的问题


const getStylLoaders = (type, hasModule = false, importLoadersNumber = 1) => {
  return [
    'style-loader',
    hasModule
      ? {
          loader: 'css-loader',
          options: {
            importLoaders: importLoadersNumber,
            modules: {
              localIdentName: '[local]_[hash:base64:5]',
            },
          },
        }
      : 'css-loader',
    {
      loader: 'postcss-loader',
      options: {
        postcssOptions: {
          // 依赖的插件放在这个数组里面
          plugins: ['postcss-preset-env'],
        },
      },
    },
    type === 'less' && 'less-loader',
  ].filter(Boolean);
};
      {
        test: /\.css$/i,
        exclude: /(node_modules)/,
        use: getStylLoaders('css'),
      },
      {
        test: /\.module\.css$/i,
        exclude: /(node_modules)/,
        use: getStylLoaders('css', true, 1),
      },
      {
        test: /\.less$/i,
        exclude: /(node_modules)/,
        use: getStylLoaders('less', false),
      },
      {
        test: /\.module\.less$/i,
        exclude: /(node_modules)/,
        use: getStylLoaders('less', true, 2),
      },

   new ESLintPlugin({
      extensions: ['js', 'jsx', 'ts', 'tsx', 'json'],
      failOnError: true,
    }),

这些是我webpack的配置出现2个问题,运行报错,

img

img


一个是我引用index.module.less 报错,一个是关于eslint的报错,不知道怎么解决

  • 写回答

24条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-11 10:44
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    针对您提供的webpack配置及遇到的两个问题,我将分别进行分析并提供相应的解决方案。

    问题一:LESS编译错误

    错误信息显示在编译.module.less文件时,出现了Unrecognised input错误,且指向了style-loader/dist/runtime/injectstylesIntoStyleTag.js。这可能是由于在LESS文件中误用了某些CSS模块相关的导入语法,导致与LESS编译器不兼容。

    解决思路:

    1. 检查LESS文件:打开报错的./src/Pages/Login/index.module.less,仔细查看第2行第22列附近是否有误用的导入语句或其他可能导致编译失败的代码。确保LESS语法正确无误。

    2. 确认CSS Modules导入规则:在使用CSS Modules时,应避免直接在LESS文件中使用类似import API from "!../../../node_modules/style-loader/dist/runtime/injectstylesIntoStyleTag.js"这样的非CSS/Less相关导入。确保所有导入仅限于LESS变量、混合等。

    3. 修复或删除可疑代码:根据上述检查结果,修正或删除可能导致编译失败的代码。

    问题二:ESLintPlugin配置错误

    错误信息指出Unknown options: extensions,提示extensions选项已被移除,并提供了错误来源和位置。这意味着当前使用的ESLintPlugin版本可能不再支持extensions配置项。

    解决思路:

    1. 更新ESLintPlugin配置:移除extensions选项。在新版本的ESLintPlugin中,通常不需要显式指定文件扩展名,它会自动处理匹配到的文件类型。因此,修改后的ESLintPlugin配置应如下所示:
    new ESLintPlugin({
      failOnError: true,
    }),
    
    1. 确认ESLintPlugin版本:确保您使用的ESLintPlugin版本与项目中的ESLint版本兼容,并且是最新稳定版。如有必要,更新至最新版本:
    npm update eslint-plugin --save-dev
    # 或者
    yarn upgrade eslint-plugin --dev
    

    综上所述,解决这两个问题需要分别检查并修复LESS文件中的潜在问题,以及更新ESLintPlugin的配置以适应当前版本的要求。完成上述步骤后,重新运行webpack构建,应能成功编译并通过ESLint检查。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图