buiildToolStudy/webpackTest/README.md

115 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**初始化项目**
```shell
npm init -y
```
**安装webpack依赖开发依赖**
```shell
npm add -D webpack webpack-cli
```
**打包项目**
```shell
npx webpack
```
### entery 入口文件
**入口文件是webpack的起点通过入口文件来找到项目中的所有依赖模块。**
```shell
module.exports = {
entry: './src/index.js', //默认值
entry"./hello/hello.js", // 修改默认值
entry: ["./src/a.js", "./src/b.js"], // 多个入口文件
entry: {
hello: "./src/a.js",
b: "./src/b.js"
} // 多个入口文件,使用对象形式
}
```
### output 出口文件
**出口文件是webpack打包后输出的文件。**
```shell
module.exports = {
output: {
filename: "bundle.js", // 默认值
clean: true, // 清除打包文件所在目录
path: `${__dirname}/dist/dist` // 指定打包后的文件路径
}
}
```
### loader
**需要安装css-loader、style-loader**
```shell
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader', // loader 执行顺序是从右到左
]
},
{
test: /\.(png|jpg|jpeg|gif)$/,
type: 'asset/resource' // 图片资源类型
}
]
}
}
```
### babel
**安装babel依赖开发依赖**
```shell
npm add -D @babel/core @babel/preset-env babel-loader
```
**配置babel**
```shell
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules | bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
```
**plugin 插件**
例如:`html-webpack-plugin`
```shell
npm add -D html-webpack-plugin
```
```shell
const HtmlWebpackPlugin = require('html-webpack-plugin')
module: {
plugins: [
new HtmlWebpackPlugin({
// template: './src/index.html'
// filename: 'index.html',
// template: './src/index.html'
title: 'webpack-demo',
})
]
}
```
**Webpack 开发服务器**
```shell
npm add -D webpack-dev-server
```
```shell
module.exports = {
devServer: {
port: 7000,
}
}
```