前端webwebpack

webpack成神之路(五)

2019-05-15  本文已影响5人  AAA前端
  1. 现在我们试一下多页面配置
let path = require('path')
module.exports={
    mode: 'production',
    entry:{
        home: './src/index.js',
        other: './src/a.js'
    },
    output:{
        filename: '[name].js',   // 打包出对应的名字
        path: path.resolve(__dirname, 'dist')
    }
}
  1. 现在只是有js。我们还需要页面。我们用前面了解的html-webpack-plugin
let path = require('path')
let HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports={
    mode: 'production',
    entry:{
        home: './src/index.js',
        other: './src/a.js'
    },
    output:{
        filename: '[name].js',   // 打包出对应的名字
        path: path.resolve(__dirname, 'dist')
    },
    plugins:[
        new HtmlWebpackPlugin({
            template: './index.html',
            filename: 'home.html',   // 不能用[name].html,需要用两次
            chunks: ['home']  // chunks 只打包home对应的js
        })
        new HtmlWebpackPlugin({
            template: './index.html',
            filename: 'other.html',
            chunks: ['other']  
        })
    ]
}
  1. 接下来我们说一下source-map. 主要在webpack.config.js中配置说明一下。
let path = require('path')
let HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports={
    mode: 'development',
    entry:{
        home: './src/index.js'
    },
    output:{
        filename: '[name].js',   // 打包出对应的名字
        path: path.resolve(__dirname, 'dist')
    },
    plugins:[
        new HtmlWebpackPlugin({
            template: './index.html',
            filename: 'index.html',  
            chunks: ['home'] 
        }),
    ],
    devServer:{
        port: 3333,
        open: true
    },
    module:{
        rules:[
            {
                test: /\.js$/,
                exclude: /node_modules/,
                include: path.resolve(__dirname, 'src'),
                use: {
                    loader: 'babel-loader',
                }
            }
        ]
    }
}
console.log('我是index.js')

class A{
    constructor(){
        console.lo('wo shi a')
    }
}

let a = new A();
image.png
  1. devtool: 'source-map', // 会打包出map文件,会指向出错的行列, 大而全


    image.png
  1. devtool: 'eval-source-map', // 不会产生map文件,也会显示行列


    image.png
  1. devtool: 'cheap-module-source-map', // 产生map文件,没有调试功能


    image.png

4)devtool: 'cheap-module-eval-source-map', //不会产生map文件,不会产生列信息


image.png
  1. 随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch!
image.png
  1. 现在我们在了解两个插件 分别 是copyWebpackPlugin(把文件拷贝到打包文件下,比如文档等), bannerPlugin(webpack内置的插件,用于版权说明)
上一篇 下一篇

猜你喜欢

热点阅读