首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据具体需要覆盖webpack装载机?

如何根据具体需要覆盖webpack装载机?
EN

Stack Overflow用户
提问于 2018-03-27 12:42:22
回答 1查看 5.5K关注 0票数 2

我正在构建一个文档站点,我想在其中显示演示代码片段。

由于我的应用程序只包含main.scss,所以我使用所有必要的加载器来处理该文件,并使用raw-loader加载任何其他scss文件以获得纯文本。

我遇到的问题是在对我的组件做同样的事情的时候。与我的样式不同,当我希望使用babel-loader呈现组件时,我需要包含组件,但我也希望将它们作为演示展示的纯文本导入。

一开始,我考虑在需求级别使用内联加载程序。

代码语言:javascript
复制
const componentCode = require('raw-loader!./path/to/component');

这种方法的问题在于,当我尝试进行此导入时,该文件已经通过babel-loader运行,因此我得到了文件的编译版本,而不是原始版本。我尝试将?enforce=pre作为查询参数内联地传递给raw-loader,但没有效果。

我想知道是否有一种方法可以定义一条规则来覆盖导入/要求语句。

根据webpack的文件

可以通过用!对整个规则进行前缀来覆盖配置中的任何加载程序。

不过,我找不到这方面的例子。我尝试了以下操作,它编译了,但在第一个!前缀要求之后立即崩溃,没有任何错误。

webpack.coonfig.js

代码语言:javascript
复制
{
    test: /\.(js|jsx)$/,
    exclude: [/node_modules/],
    use: [
      {
        loader: 'babel-loader',
        options: {
          presets: ['env', 'react'],
        },
      },
    ],
  },
  {
    test: /!*\.(js|jsx)$/,
    enforce: "pre",
    use: [
      {
        loader: 'raw-loader',
      },
    ],
  },

file.jsx

代码语言:javascript
复制
  const componentCode = require('raw-loader!./path/to/component');

我还考虑过使用fs读取文件,但不确定这是否有效。最后,该代码将全部由webpack编写,只有该包才能出版。这是正确的做法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-28 07:46:58

Webpack - ignore loaders in require()?找到我的答案,基本上我需要!之前要求忽略预装载机并应用我的

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

https://stackoverflow.com/questions/49513157

复制
相关文章

相似问题

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