imooc上的webpack的学习

141 阅读1分钟

功能:

1.打包
2.代码分割,只加载项目需要的文件
3.模块热更新

实践

1.在自己的d盘建一个webpack-test的文件夹,gitbash到当前文件夹,并且npm init, 生成package.json

2.安装webpack: npm install webpack --save-dev

3.打开项目,在项目中建一个文件hello.js,在文件中写一个方法

4.执行 webpack hello.js hello.bundle.js (在4以上的webpack版本这个命令会报错,需要执行 webpack hello.js --output-filename hello.bundle.js --output-path . --mode development )

收获点

1.webpack是通过一个入口文件进行打包的,在一个入口文件中通过require,import 等引入的文件,webpack也能进行识别并且打包
2.webpack是不支持.css文件类型的,如果要支持需要安装loader npm install css-loader style-loader --save
3.当在linux下执行webpack的时候其实就开始找webpack.config.js文件了

真实项目中webpack 的配置

moudle.exports={
entry:打包的入口文件(可以是一个数组、对象、字符串),
output:{
path:path.resolve(__dirname,'./dist'),打包之后的文件放在哪(通常要用绝对路径)
filename:'[name]-[chunkhash].js', 打包之后的文件名
publicPath:'http://cdn.com/' 打包上线之后的地址,那么打包文件中的html文件中的script标签引入的文件都会带上这个地址 },
plugins:[ // 将项目根目录的html复制一份到打包文件中
new htmlWebpackPlugin({
template:'index.html' , minify:{
对打包之后的html文件进行压缩
}
})
]
(plugins设置的参数,在html页面都可以获取到)
} (在命令行只需使用 webpack就可以了)
也可以在pakeage.json文件里配置
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"build":"webpack --config webpack.config.js --progress --display-modules --colors --display-reason"
},
命令行执行 npm run build 就会打包
详细讲解请参考官网:https://www.webpackjs.com/concepts/