Javascript 如何将babel加载程序应用于'jsnext:main',而不是'main'?

Javascript 如何将babel加载程序应用于'jsnext:main',而不是'main'?,javascript,ecmascript-6,webpack,Javascript,Ecmascript 6,Webpack,使用package.json中的jsnext:main属性和树抖动,似乎最好使用es6版本和babel loader来获得比始终从main导入整个UMD包更小的构建 我知道不是每个包都支持jsnext:main,但是对于那些我想应用babel loader和cherry pick导入的包 es6包的示例: { "name": "module", "main": "dist/index.js", "jsnext:main": "src/index.js" } commonjs或UMD

使用
package.json
中的
jsnext:main
属性和树抖动,似乎最好使用es6版本和
babel loader
来获得比始终从
main
导入整个UMD包更小的构建

我知道不是每个包都支持
jsnext:main
,但是对于那些我想应用
babel loader
和cherry pick导入的包

es6包的示例:

{
  "name": "module",
  "main": "dist/index.js",
  "jsnext:main": "src/index.js"
}
commonjs或UMD依赖关系示例:

{
  "name": "module",
  "main": "lib/index.js"
}
现在我排除了webpack中的所有节点模块

{
  test: /\.(jsx|js)$/,
  exclude: /node_modules/,
  loader: "babel-loader"
}

如果存在
jsnext:main
,是否有方法将加载程序配置为包含,否则将其排除?这可能有些过分,但客观上,在支持的情况下使用es6导入似乎更好

您不能执行
exclude:/node\u modules(?!\/some\u module)/
以排除除所需模块之外的所有模块,并称之为良好的吗?