首页
首页
返回
webpack笔记
由
飞扬
记录于:
2021/9/11 11:01:53
分类:other
[TOC] > 需要先安装node.js ##基本步骤 1. 在需要打包的目录下运行: 1. `npm init -y` 2. `npm install webpack webpack-cli --save-dev` 2. 删除`package.json`内的`"main": "index.js"`新增`"private": true` 3. 根目录创建`webpack.config.js` 4. 加载CSS,运行:`npm install --save-dev style-loader css-loader` 5. 配置`webpack.config.js`完毕后运行`npx webpack --config webpack.config.js`打包 ## 配置说明 > webpack.config.js 示例: ``` const path = require('path'); module.exports = { mode: 'development', //mode: 'production' devtool: 'inline-source-map', //入口文件 entry: { index: './src/index.js', print: './src/print.js', }, //输出文件 output: { filename: '[name].js', path: path.resolve(__dirname, 'dist'), //编译时清空旧的 clean: true, }, module: { //配置在moudles中import css rules: [ { test: /\.css$/i, use: ['style-loader', 'css-loader'] } ] }, }; ``` > package.json 示例: ``` { "name": "webpack_test", "version": "1.0.0", "description": "", "private": true, //定义打包命令行 "scripts": { "build":"npx webpack --config webpack.config.js", //文件改动自动编译 "watch": "npx webpack --config webpack.config.js --watch" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "css-loader": "^6.2.0", "html-webpack-plugin": "^5.3.2", "style-loader": "^3.2.1", "webpack": "^5.52.1", "webpack-cli": "^4.8.0" } } ``` ### 配置生产和调试环境 ``` npm install --save-dev webpack-merge ``` - `webpack.common.js` ``` 常规配置 ``` - `webpack.dev.js` ``` const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); module.exports = merge(common, { mode: 'development', devtool: 'inline-source-map' }); ``` - `webpack.prod.js` ``` const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); module.exports = merge(common, { mode: 'production', }); ``` ### 拆分多次导入的模块以减少体积 `这里拆分出的模块如果未自动更新html的话要手动引用上。` ``` //在webpack.*.js内的 module.exports 中配置 optimization: { splitChunks: { cacheGroups: { //第三方模块 vendor: { name: "common_3rd_libs", test: /[\\/]node_modules[\\/]/, chunks: "all", priority: 10 // 优先级 }, //自己编写的模块 common: { name: "common_libs", test: /[\\/]src[\\/]/, minSize: 1024, chunks: "all", priority: 5 } } }, } ```
阅读
119
0
评论
webpack笔记
由 飞扬 记录于:2021/9/11 11:01:53
分类:other