Javascript 巴贝尔没有';t过程节点_模块-无排除,无LRC

Javascript 巴贝尔没有';t过程节点_模块-无排除,无LRC,javascript,internet-explorer,webpack,babeljs,babel-loader,Javascript,Internet Explorer,Webpack,Babeljs,Babel Loader,这已经被问了多次,问题总是归结为在babel配置中存在exclude,或者babel配置在.babelrc而不是babel.config.json中。就我而言,这是另一回事。这是我的babel.config.json: { “预设”:[ [ “@babel/reset react”, { “运行时”:“自动” } ], “@babel/env” ], “插件”:[ “@babel/plugin提案对象剩余差价”, [ “模块解析器”, { “别名”:{ “@common”:“/src/commo

这已经被问了多次,问题总是归结为在babel配置中存在
exclude
,或者babel配置在
.babelrc
而不是
babel.config.json
中。就我而言,这是另一回事。这是我的
babel.config.json

{
“预设”:[
[
“@babel/reset react”,
{
“运行时”:“自动”
}
],
“@babel/env”
],
“插件”:[
“@babel/plugin提案对象剩余差价”,
[
“模块解析器”,
{
“别名”:{
“@common”:“/src/common”,
“@files”:“/src/files”,
“@settings”:“/src/settings”,
}
}
]
]
}
这是我的
webpack.config.js

const path=require('path');
const webpack=require('webpack');
const ENV=process.ENV;
const scriptDir=path.join(uu dirname,'scripts');
常量配置={
devtool:ENV.WEBPACK|u devtool| |“评估源地图”,
模式:"发展",,
条目:{
应用程序:['./src/app.js'],
},
输出:{
路径:scriptDir,
公共路径:“/”,
},
目标:['web','es5'],
模块:{
规则:[
{
测试:path.resolve(uu dirname,'node_modules/ajv'),
使用:“空加载程序”,
},
{
测试:/\(js | cjs | jsx)$/,
用法:['babel-loader'],
包括:[path.resolve(uu dirname,'src')、path.resolve(u dirname,'node_modules/nanoid')],
},
{
测试:/\.json$/,,
使用:['json-loader'],
键入:“javascript/auto”,
},
{
测试:/\.css/,,
用法:['style-loader','css-loader'],
},
{
测试:/\.min\.js$/,,
排除:[/react/,/node_modules/],
使用:['script-loader'],
},
{
测试:/node\u modules\/vfile\/core\.js/,
使用:[
{
加载器:“导入加载器”,
选项:{
键入:“commonjs”,
导入:[“单个进程/浏览器进程”],
},
},
],
},
],
},
插件:[
新的webpack.DefinePlugin({
'process.env.NODE_env':JSON.stringify(env.NODE_env),
}),
],
决心:{
符号链接:false,
模块:[path.join(uu dirname,'src'),'node_modules'],
别名:{
“@common”:path.resolve(_dirname,./src/common”),
“@files”:path.resolve(_dirname,./src/files”),
“@settings”:path.resolve(_dirname,./src/settings”),
},
回退:{fs:false,path:require.resolve('path-browserify')},
},
};
如果(ENV.NODE_ENV===='production'){
config.devtool='隐藏源映射';
config.mode='生产';
}
if(环境网页包插件){
const Plugin=require(ENV.WEBPACK_Plugin);
config.plugins.push(新插件());
}
module.exports=config;
当我在IE11中运行输出包时,我看到一个arrow函数,它特别来自于包。正如您在上面看到的,我试图显式地
包含它。在没有
的情况下也尝试了包含

我在巴别塔7.12和网页5.4上


那么,配置中还缺少什么呢?为什么巴贝尔仍然拒绝解析(一些)
节点模块

解决方案是删除@loganfsmyth在上面评论中建议的
包含
,或者将
包含
设置为更一般的内容:

include:[path.resolve('src'),path.resolve('node'modules')]

是否确定
nanoid
直接位于
路径中。解析(\uu dirname,'node\u modules/nanoid')
而不是在某些嵌套的
节点\u模块中?可能值得尝试
/\/node\u modules\/nanoid\/
来匹配任何嵌套级别。查看
warn.lock
看起来
nanoid
只是一个包的子依赖项,但我肯定会尝试一下@loganfsmyth。但我不知道为什么我需要使用
include
。从我在文档中看到的情况来看,babel应该只检查所有的
node\u模块
@loganfsmyth尝试了你的字符串,没有什么区别……事实上,包中还有许多其他es6代码实例,而不是
nanoid
。因此,如果你完全删除
include
行,输出中仍然有ES6?你能发布一个你的网页包的样本来展示你所看到的吗?要尝试的一件事是在您的
babel.config.JSON
中放入一个JSON语法错误,并确保它在构建时出错,以便您知道babel实际上正在尝试运行。