Javascript 网页包+;Babel正在传输网页包加载程序,如何防止这种情况?

Javascript 网页包+;Babel正在传输网页包加载程序,如何防止这种情况?,javascript,webpack,babeljs,Javascript,Webpack,Babeljs,我认为Webpack+Babel只会传输应用程序代码,而不是用于Webpack构建的代码。但是,它似乎正在从css加载程序、迷你css提取插件等传输代码,这导致了以下错误: ERROR in ./styles/main.scss Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js): TypeError: __webpack_require__(...) is not a functio

我认为Webpack+Babel只会传输应用程序代码,而不是用于Webpack构建的代码。但是,它似乎正在从
css加载程序
迷你css提取插件
等传输代码,这导致了以下错误:

ERROR in ./styles/main.scss
Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js):
TypeError: __webpack_require__(...) is not a function
如果将以下内容添加到“排除”,则此错误已修复:

  module: {
    rules: [
      {
        test: /\.(j|t)sx?$/,
        include: [APP_ROOT, path.resolve('./node_modules')],
        exclude: [
          path.resolve('./node_modules/mini-css-extract-plugin'),
          path.resolve('./node_modules/css-loader'),
        ],
        use: [
          'babel-loader',
        ],
      },
      ...

我想我不需要这个,因为Babel不应该传输用于Webpack构建过程的包。我将
node\u模块
添加到
include
,因为有些软件包使用的代码在旧浏览器中无法工作。

原因可能与规则中的include选项有关,为什么不尝试将node\u模块的引用放在resolve选项中,通过这种方式,webpack可以查看声明的条目并解析它需要解析的内容,但不包括传输声明的排除项

entry: SRC_DIR + '/main.js',
resolve: {
    extensions: ['.js'],
    modules: [SRC_DIR, 'node_modules']
},
module: {
    rules: [
        {
            test: /\.js$/,
            exclude: /node_modules/,
            use: ['eslint-loader']
        }
    ]
}

尝试排除所有
节点模块
,只包括实际需要传输的节点模块资源。我打赌这会解决你的问题。

对于从项目文件夹中传输特殊文件,如css或png或jpg或svg等,需要某些加载程序,但在传输过程中,它也会拾取加载程序文件,以便匹配文件格式(如css)并分析错误。然后传输该文件以提供最终生成文件。

您能否提供复制此问题的repo?我想传输
node\u模块中的应用程序代码
,这样可以防止传输。有些软件包使用较新的语法是的,这是可行的,但我必须弄清楚哪些软件包使用新语法,而且恐怕没有工具可以做到这一点。