webpack配置 webpack.config.js
时间: 2023-11-28 22:42:42 浏览: 94
webpack是一个现代JavaScript应用程序的静态模块打包器。webpack.config.js是webpack的配置文件,用于指定webpack的打包规则和插件等。下面是一个简单的webpack.config.js的示例:
```javascript
// webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
};
```
上述配置文件中,entry指定了入口文件,output指定了输出文件的名称和路径,module.rules指定了打包规则,这里使用了babel-loader将ES6语法转换为ES5语法。
相关问题
使用webpack5从0搭建。 webpack配置分为三个文件webpack.dev.js webpack.common.js webpack.pro.js webpack.dev.js 开发环境配置 webpack.common.js 是公共配置文件 webpack.pro.js 生产环境配置 package.json 配置三个命令 serve 启动 对应配置webpack.dev.js build打包 对应配置webpack.pro.js 要求配置babel,eslint,dev-server, css-loader,scss-loader,post-loader,style-loader,css压缩,JS压缩,file-loader url-loader,clean-webpack-plugin, js多进程打包,
好的,您的问题是如何使用webpack5从0搭建项目并配置开发环境和生产环境?
首先,需要安装webpack和webpack-cli:
```
npm install webpack webpack-cli --save-dev
```
然后,我们需要创建三个配置文件:webpack.common.js、webpack.dev.js和webpack.prod.js。
在webpack.common.js中,我们将配置所有环境都需要的共同的部分。例如,我们可以配置entry、output、module和plugins等。示例代码如下:
```javascript
const path = require('path');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '/',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: ['babel-loader', 'eslint-loader'],
},
{
test: /\.(sa|sc|c)ss$/,
use: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader'],
},
{
test: /\.(png|svg|jpg|gif|ico)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 8192,
name: '[name].[contenthash:8].[ext]',
outputPath: 'assets/images',
},
},
],
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[contenthash:8].[ext]',
outputPath: 'assets/fonts',
},
},
],
},
],
},
plugins: [new CleanWebpackPlugin()],
};
```
在webpack.dev.js中,我们将配置开发环境所需要的部分。例如,我们可以配置devServer、devtool等。示例代码如下:
```javascript
const { merge } = require('webpack-merge');
const commonConfig = require('./webpack.common');
module.exports = merge(commonConfig, {
mode: 'development',
devtool: 'inline-source-map',
devServer: {
contentBase: './dist',
port: 8080,
hot: true,
open: true,
},
optimization: {
minimize: false,
},
});
```
在webpack.prod.js中,我们将配置生产环境所需要的部分。例如,我们可以配置optimization、devtool等。示例代码如下:
```javascript
const { merge } = require('webpack-merge');
const commonConfig = require('./webpack.common');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = merge(commonConfig, {
mode: 'production',
devtool: 'source-map',
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
},
});
```
最后,在package.json中配置三个命令:
```json
{
"scripts": {
"serve": "webpack serve --config webpack.dev.js",
"build": "webpack --config webpack.prod.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
}
```
以上是一个基本的webpack5项目的配置过程,其中包含了babel、eslint、dev-server、css-loader、scss-loader、post-loader、style-loader、css压缩,JS压缩,file-loader、url-loader、clean-webpack-plugin、js多进程打包等常用配置。
Webpack 的配置文件 webpack.config.js
Webpack 的配置文件 webpack.config.js 是用来配置 Webpack 的构建规则、插件、入口文件、输出文件等等。它是一个 JavaScript 文件,Webpack 在运行时会读取这个文件并根据其中的配置进行构建。
Webpack 的配置文件通常包含以下几部分:
1. 入口文件:指定 Webpack 的入口文件,可以是单个文件或多个文件。
2. 输出文件:指定 Webpack 的输出文件,包括文件名、路径、打包模式等等。
3. 模块解析规则:指定 Webpack 对模块的解析规则,包括如何解析不同类型的文件、如何处理依赖关系、如何处理模块的别名等等。
4. 插件配置:指定 Webpack 的插件,用于扩展和优化 Webpack 的功能。
5. 开发配置:指定 Webpack 的开发配置,包括如何进行调试、如何进行热更新等等。
Webpack 的配置文件可以根据项目的需求进行灵活的配置,可以根据需要添加或删除各种配置项,以达到最优的构建效果。
阅读全文