这个最简单,把 webpack.config.js 改名成 webpack.config.babel.js 就行。一切命令照旧。Webpack 在执行时会先用 Babel 把配置文件转成 ES5 代码再继续处理。一切 Babel 支持的语言特性都可以用。
这是一个 Webpack 支持,但文档里完全没有提到的特性 (应该马上就会加上)。只要你把配置文件命名成 webpack.config.[loader].js ,Webpack 就会用相应的 loader 去转换一遍配置文件。所以要使用这个方法,你需要安装 babel-loader 和 babel-core 两个包。记住你不需要完整的 babel 包。
理论上这种做法支持任何 loader ,所以你也可以用 CoffeeScript 或者其他语言去写,只要有相应的 loader 就行。
这个方法还有个好处,如果你在 webpack.config.babel.js 里 import 了其他文件,那个文件也会被 Babel 编译。比如:
// webpack.config.babel.js
// 这个文件也可以用 ES6 写
import config from ‘./some-config’
export default {
// webpack config
}
不过,如果你打算自己写脚本去加载 Webpack 的配置,这个方法就不管用了。
总结:这个方法适合那些不在乎 Node.js 版本,只使用 webpack 和 webpack-dev-server 命令,不打算自己写脚本或过多折腾,但想使用完整的 ES6 特性的人。(这个需要特定的webpack版本)