webpack的官网:https://webpack.js.org/
创建文件命令行:
mkdir webpack-democd webpack-demonpm init -ynpm install webpack webpack-cli --save-dev//yarn add webpack webpack-clinpx webpack //自动检测webpack路径,运行,但是安装路径如果出现空格npx不可用
删除之前的保留的文件,重新打包
//package.json文件"script":{"build": "rm -rf dist && webpack",}//然后打包的时候执行yarn build
设置webpack
var HtmlWebpackPlugin = require('html-webpack-plugin')var path = require('path')module.exports = {//消除mode警告mode: 'development',//developmeot(开发者模式)有注释,但体积大,production(用户模式)体积小,代码最小化entry: './foo.js',//入口文件名output: {path: path.resolve(__dirname, 'dist'),//生成文件夹名filename: 'foo.bundle.js'//生成的.js文件名filename: '[name].[contenthash]'.js//名字.js,http缓存},//产生一个index.htmlplugins: [new HtmlWebpackPlugin(title: //html的title名template: 'src/assets/test.html'//可以写的HTML,test.html里面的title改成<%= htmlWebpackPlugin.options.title %>就可以引用上面的title名)],module: {rules: [{test: /\.css$/,use: ['style-loader', 'css-loader'],},],},};
http缓存
- 首页不缓存,因为缓存就不知道哪个地方更新了;
- webpack打包后会有hash后缀,用于浏览器对比更新;
- 设置缓存头(Cache-Control)就设置了缓存保留多长时间,可以保留一些.js.css文件用于超快下载浏览
生成html
yarn add html-webpack-plugin --dev
生成css
//添加两个依赖yarn add css-loader --devyarn add style-loader --dev//然后写的.css文件就可以被编译import '名字.css'//引用css
webpack dev serve
//webpack.config.jsondevtool: 'inline-source-map'
