首页 > 解决方案 > NormalModuleReplacementPlugin 无法用资产中的另一个 scss 文件替换 node_modules scss 文件

问题描述

_bg-theme.scssnode_modules在 package.json中添加一个包后安装文件

我正在尝试用node_modules我们在 assets 文件夹中添加的 scss 文件(_bg-theme.scss)替换 scss 文件bg-theme.scss

我正在使用webpack.NormalModuleReplacementPlugin,但它不工作。

webpack.common.js

 plugins: [
     new webpack.NormalModuleReplacementPlugin(
          /\/node_modules\/@bg-file-menu\/core\/dist\/styles\/mixins\/_bg-theme.scss/,
          '../../../src/web/assets/styles/bg-theme.scss',
        )
  ]

解决此问题的正确方法是什么。任何建议或解决方案表示赞赏。

标签: reactjswebpacksass

解决方案


第二个路径(您的资产文件)相对于第一个。所以你必须再上几级。

plugins: [
 new webpack.NormalModuleReplacementPlugin(
      /\/node_modules\/@bg-file-menu\/core\/dist\/styles\/mixins\/_bg-theme.scss/,
      '../../../../../../../src/web/assets/styles/bg-theme.scss',
    )

]


推荐阅读