处理ES2015
- webpack是因为打包需要,所以才会处理import和export,除此之外,并不能转化es6其他的特性
- 如果需要打包过程中处理es6特性转换,需要给js配置编译型loader yarn add babel-loader @babel/core @babel/preset-env --dev.
const path = require('path')
module.exports = {
mode:'none',
entry:"./src/main.js",
output:{
filename:"bundle.js",
path:path.join(__dirname,'dist'),
publicPath:'dist/'
},
module:{
rules:[
{
test:/.js$/,
use:{
loader:'babel-loader',
options:{
presets:['@babel/preset-env']
}
}
},
{
test:/.css$/,
use:[
'style-loader',
'css-loader',
]
},
{
test:/.jpg$/,
use:{
loader:'url-loader',
options:{
limit:10 * 1024
}
}
},
]
}
}
webpack加载资源的方式
import './heading.css'
const heading = require('./heading.js').default //注意
require('./main.css')
- 遵循AMD标准的define函数和require函数
define(['./heading.js','./main.css','./icon.png'],(creatheading,icon)=>{在这里插入图片描述
})
define(['./heading.js','./main.css','./icon.png'],(creatheading,icon)=>{在这里插入图片描述
})
注:除非必要,不要混合使用,混用会降低项目的可维护性,