12 Webpack 输出管理

本文详细介绍Webpack的基本配置,包括入口文件、输出设置、插件使用等,演示如何通过Webpack实现自动化清理、html文件自动引入打包后的js资源,以及解决中文乱码问题。

基本配置:

module.exports = {

    entry: {

        account: __dirname + "/Account/account.jsx",

        Account1: __dirname + "/Account/account1.jsx"

    },

    output: {

        // 输出文件目录路径

        path: path.join(__dirname, "js"),

        // 输出文件名

        filename: "[name].bundle.js",

        // 非入口文件名

        // 什么是非入口文件,如:

        // app.js 时入口文件,其在一个函数中使用了 import() 函数,动态加载(函数执行时加载)另一个 js 文件

        // 此时"另一个 js 文件"便是非入口文件

        chunkFilename: "[id].chunk.js"

    }

}

Output有很多字段,详细配置可查阅官网

 

清理 /build 文件夹

如果你想在每次执行打包命令时都清了之前生成的文件,那么你可以使用如下插件

安装npm包

npm install clean-webpack-plugin --save-dev

webpack.config.js

  const path = require('path');

+ const CleanWebpackPlugin = require('clean-webpack-plugin');

 

  module.exports = {

    entry: {

      app: './src/index.js',

      print: './src/print.js'

    },

plugins: [

+     new CleanWebpackPlugin(['build'])

    ],

    output: {

      filename: '[name].bundle.js',

      path: path.resolve(__dirname, 'dist')

    }

  };

 

html页面的引入

如果你想在打包命令时自动将打包的js文件的引用添加到html页面中,那么你可以使用如下方法

安装 html-webpack-plugin 插件

npm install html-webpack-plugin --save

安装 webpack-utf8-bom 插件

npm install webpack-utf8-bom --save

 

webpack.config.js配置

var path = require("path");

const HtmlWebpackPlugin = require('html-webpack-plugin')   //HtmlWebpackPlugin插件

const BomPlugin = require('webpack-utf8-bom');    //将文件转成utf-8 bom格式,解决中文乱码的问题

 

module.exports = {

    entry: {

        account:__dirname + "/Account/account.js"

    },

    output: {

        path: __dirname + "/build",

        filename: "[name].bundle.js"    

   },

    plugins: [

        //这里开始写

        new HtmlWebpackPlugin({

            filename: __dirname + '/build/login.html', //html生成路径,

            template: __dirname + '/Account/login.html', // html模板路径,            

            inject: 'body',   //打包之后的js插入的位置,true/'head'/'body'/false,

            chunks: ['account']    //需要引入的js

        }),

        new BomPlugin(true, /\.(cshtml)$/),//解决cshtml中文乱码的问题

    ......

    ]

......

}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值