关于webpack的配置项说明

关于webpack的配置项说明

对Webpack的打包行为做了配置,主要分为几个部分:

  • entry

  • 指定打包的入口文件,每有一个键值对,就是一个入口文件。
  • output

  • 配置打包结果,path定义了输出的文件夹,filename则定义了打包结果文件的名称,filename里面的name会由entry
    中的键(如entry1和entry2)替换。
  • resolve

  • 定义了解析模块路径时的配置,常用的就是extensions,可以用来指定模块的后缀,这样在引入模块时就不需要写后缀了,会自动补全。
  • alias

  • 定义路径别名或者文件别名,如:
  • json alias: {"@": path.resolve(__dirname, "./src/") }
  • 以上是将@字符的路径指向源码所在文件夹src,这样在源码内的文件引用就可以写成import xx from "@/service/xx"
  • module

  • 定义了对模块的处理逻辑,这里可以用loaders定义了一系列的加载器,以及一些正则。当需要加载的文件匹配test
    的正则时,就会调用后面的loader对文件进行处理,这正是webpack强大的原因。比如可以定义凡是.js
    结尾的文件都是用babel-loader做处理,而.jsx结尾的文件会先经过jsx-loader处理,然后经过babel-loader
    处理。当然这些loader也需要通过npm install安装。
  • plugins

  • 这里定义了需要使用的插件,比如commonsPlugin在打包多个入口文件时会提取出公用的部分,生成common.js

当然Webpack还有很多其他的配置,
具体可以参照它的配置文档

const webpack = require('webpack');
const commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');
// const htmlWebpackPlugin = require('html-webpack-plugin'); //使用自动生成html文件的一个插件
const path = require('path');
module.exports = {
    entry: {
        entry1: "./src/blog",
        entry2: "./src/user"
    },
    output: {
        path: "./build",
        filename: '[name].entry.js'
    },
    resolve: {
        extensions: ['', '.js', '.jsx']
    },
    module: {
        loaders: [{
            test: /\.js$/,
            loader: 'babel-loader'
        }, {
            test: /\.jsx$/,
            loader: 'babel',
            exclude: "/node_modules/",
            //include:path.resolve(__dirname,"example")
        }]
    },
    plugins: [commonsPlugin],
    /*new htmlWebpackPlugin({
        title: ""
    })*/
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿卢说他遇到阿玮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值