美文网首页
webpack理解

webpack理解

作者: 送你一堆小心心 | 来源:发表于2018-09-28 15:07 被阅读0次

title: webpack

一个前端资源加载/打包工具

安装

yarn add webpack --dev
npm install webpack --save-dev

处理文件

html ==> html-webpack-plugin, html单独打包成文件
脚本  ==> babel + babel-preset-react(es6)
样式  ==> css-loader + sass/less-loader
图片/字体  ==> url-loader + file-loader

extract-text-webpack-plugin 样式打包成单独文件
CommonsChunkPlugin 提出通用模块
webpack-dev-server 为webpack项目提供web服务 + 更改代码自动刷新 + 路径转发

配置

创建一个配置文件webpack.config.js

创建入口文件夹

src
    app.js

输出

const path = require('path')
module.exports = {
    entry: './src/app.js',
    output: {
        path: path.resolve(__dirname, 'dist'), // 生成打包目录
        filename: 'app.js'
    }
}

配置html

安卓html-webpack-plugin
yarn add html-webpack-plugin --dev

在刚才的config里面引入
const HtmlWebpackPlugin = require('html-webpack-plugin')

在output下面加入
plugins: [
    new HtmlWebpackPlugin({
        // 这里存放配置项(其他配置可按照需求去官网搜索)
        template: './src/index.html'
        // 给打包生成的html设置一个模版,也可以不设置,则自动生成html,会自动引入出口的js文件
    })
]

配置es6脚本

安装babel-core / babel-preset-env / babel-loader
yarn add babel-core babel-preset-env babel-loader --dev

在output下加一个module对象
module: {
    rules: [
        {
            test: /\.js$/,
            exclude: /(node_modules)/, //排除()内的文件夹
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ['env']
                }
            }
        }
    ]
}

相关文章

网友评论

      本文标题:webpack理解

      本文链接:https://www.haomeiwen.com/subject/eprpoftx.html