首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack少装载机javascriptEnabled错误

Webpack少装载机javascriptEnabled错误
EN

Stack Overflow用户
提问于 2020-05-08 19:11:05
回答 1查看 7.6K关注 0票数 4

当我试图将我的less-loader设计库加载到Webpack的前端时,当我从6.0.0版本转移到6.1.0版本时,我收到了这个错误。我想知道是否还有其他人有这个问题并解决了这个问题(我在下面回答了)。

下面是更新之前的较少编译配置:

代码语言:javascript
复制
module: { rules: [{
    test: /\.less$/,
    use: [
        { loader: "style-loader" },
        { loader: "css-loader" },
        {
            loader: "less-loader",
            options: {
                javascriptEnabled: true,
            }
        }
    ]
}]}
代码语言:javascript
复制
ERROR in ./node_modules/.pnpm/registry.npmjs.org/antd/4.2.0_react-dom@16.13.1+react@16.13.1/node_modules/antd/dist/antd.less (./node_modules/.pnpm/registry.npmjs.org/css-loader/3.5.3_webpack@4.43.0/node_modules/css-loader/dist/cjs.js!./node_modules/.pnpm/registry.npmjs.org/less-loader/6.1.0_webpack@4.43.0/node_modules/less-loader/dist/cjs.js??ref--6-2!./node_modules/.pnpm/registry.npmjs.org/antd/4.2.0_react-dom@16.13.1+react@16.13.1/node_modules/antd/dist/antd.less)
Module build failed (from ./node_modules/.pnpm/registry.npmjs.org/less-loader/6.1.0_webpack@4.43.0/node_modules/less-loader/dist/cjs.js):
ValidationError: Invalid options object. Less Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'javascriptEnabled'. These properties are valid:
   object { lessOptions?, prependData?, appendData?, sourceMap?, implementation? }
    at validate (/home/<path>/react-web/node_modules/.pnpm/registry.npmjs.org/schema-utils/2.6.6/node_modules/schema-utils/dist/validate.js:88:11)
    at Object.lessLoader (/home/<path>/react-web/node_modules/.pnpm/registry.npmjs.org/less-loader/6.1.0_webpack@4.43.0/node_modules/less-loader/dist/index.js:22:28)
 @ ./node_modules/.pnpm/registry.npmjs.org/antd/4.2.0_react-dom@16.13.1+react@16.13.1/node_modules/antd/dist/antd.less 2:26-228
 @ ./src/index.tsx
 @ multi ./src/index.tsx
EN

回答 1

Stack Overflow用户

发布于 2020-05-08 19:11:05

在“精简加载器”版本6.1.0^中,他们对加载器进行了突破性的更改,如果您使用类似于Ant (或其他更小的和JS加载器)之类的内容,通常会将javascriptEnabled: true标志添加到Webpack配置中的"options“对象中。

在版本6.1.0^中,对于较少的加载程序,这是要放置在options配置下的lessOptions对象中的更改。下面是我使用的解决方案,它适用于我的Webpack配置包。

代码语言:javascript
复制
module: { rules: [{
    test: /\.less$/,
    use: [
        { loader: "style-loader" },
        { loader: "css-loader" },
        {
            loader: "less-loader",
            options: {
                lessOptions: {
                    javascriptEnabled: true,
                }
            }
        }
    ]
}]}

注意,javascriptEnabled标志不是在顶级options对象下,而是在lessOptions子对象下。这是less-loader版本6.1.0^的最新更新标准。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61686398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档