懒加载(延迟加载)
yarn add @babel/plugin-syntax-dynamic-import -D
source.js
export default 'mayufo'
index.js
let button = document.createElement('button')
button.innerHTML = 'may'
button.addEventListener('click', function () {
console.log('click')
// es6草案中的语法,jsonp实现动态加载文件
import('./source.js').then(data => {
console.log(data.default);
})
})
document.body.appendChild(button)
webpack.config.js
{
test: /\.js$/,
exclude: '/node_modules/',
include: path.resolve('src'),
use: [{
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
'@babel/preset-react'
],
plugins: [
'@babel/plugin-syntax-dynamic-import'
]
}
}]
}