webpack 编译 ES2015
webpack 默认只是对 js 模块的打包,并不会对 ES 新特性进行转化。import和export 默认能被打包,是因为这是eamodule的语法,但是其他es新特性语法并不会被转化,比如箭头函数并不会被编译成普通函数
- 使用 babel-loader 转化 ES 新特性
npm install babel @babel/core @bable/preset-env
- module.rules 中使用 babel
module: { rules: [ { test: /.js$/, use: { loader: 'babel-loader', options: ['@babel/preset-env']// babel使用的插件 } } ] }
webpack 模块加载方式
- 遵循 ES Moudles 标准的 import 声明
-
import foo from './foo.js'; import { bar } from './foo.js'; import icon from './icon.png'; import './main.css';
- 遵循 CommonJS 标准的 require 函数