Javascript 网页包+;Babel正在传输网页包加载程序,如何防止这种情况?
我认为Webpack+Babel只会传输应用程序代码,而不是用于Webpack构建的代码。但是,它似乎正在从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
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模块中的应用程序代码
,这样可以防止传输。有些软件包使用较新的语法是的,这是可行的,但我必须弄清楚哪些软件包使用新语法,而且恐怕没有工具可以做到这一点。