如何在webpack中使用ES6。配置吗? 就像这个回购 https://github.com/kriasoft/react-starter-kit 呢?

例如:

使用这个

import webpack from 'webpack';

而不是

var webpack = require('webpack');

与其说这是一种需求,不如说是一种好奇心。


当前回答

2022年的读者:

"webpack": "^5.70.0",
"webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.7.4"

在package.json中添加"type": "module" 将webpack.config.js的语法改为ESM。 享受。

其他回答

这真的很简单,但从任何答案中我都看不出来,所以如果有人和我一样困惑:

只需将.babel附加到你的文件名扩展名之前的部分(假设你已经安装了babel寄存器作为依赖项)。

例子:

mv webpack.config.js webpack.config.babel.js

还有一种方法是为node使用require参数:

Node -r babel-register ./node_modules/webpack/bin/webpack . xml

在electron-react-boilerplate中可以找到这种方法,看看build-main和build-renderer脚本。

我最好的方法与npm脚本是

node -r babel-register ./node_modules/webpack/bin/webpack

并根据您对Babel的需求配置其余脚本

编辑:截至2021年2月

https://github.com/webpack/webpack-cli/pull/2381


你不能。你必须把它转换成CommonJS,要么用babel要么用esm。

https://github.com/webpack/webpack-cli/issues/282

但是你可以运行webpack -r esm @babel/register

另一种方法是这样写一个npm脚本:"webpack": "babel-node ./node_modules/webpack/bin/webpack",然后像这样运行: