博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack4配置react开发环境
阅读量:4971 次
发布时间:2019-06-12

本文共 2027 字,大约阅读时间需要 6 分钟。

webpack4大大提高了开发效率,简化了配置复杂度,作为一个大的版本更新,作为一个对开发效率执着的爱折腾的程序员,已经忍不住要尝尝鲜了

首先是cli和webpack的分离,开发webpack应用程序需要安装一些开发依赖

webpack

webpack-cli

webpack-dev-server

babel-loader, babel-core, babel-preset-env, babel-preset-react

css-loader less-loader style-loader less ( 如果是sass的话安装 sass-loader和node-sass )

file-loader

yarn add webpack webpack-cli webpack-dev-server less less-loader style-loader css-loader babel-loader babel-core babel-preset-react babel-preset-env file-loader --save --dev

安装好之后开始配置webpack

mode

4.0版本添加了一个mode参数

development 或者 production,直接设置这两个参数,可以省去配置一些插件,但是也可以设置为 none,插件也可以自己手动配置

如果是development的话,相当于旧版本的

plugins: [    new webpack.NamedModulesPlugin(),    new webpack.DefinePlugin({ "process.env.NODE_ENV":JSON.stringify("development") }),]

 如果是production 的话,相当于旧版本的

plugins: [    new UglifyJsPlugin(/* ... */),    new webpack.DefinePlugin({ "process.env.NODE_ENV":JSON.stringify("production") }),    new webpack.optimize.ModuleConcatenationPlugin(),    new webpack.NoEmitOnErrorsPlugin()]

 

入口和出口

旧版本中需要配置入口文件和出口文件,新版本如果不执行入口和出口,那么默认的配置就会和下边一样

module.exports = {    entry: './src/index.js',    output: {        path: path.resolve(__dirname, './dist'),        filename: 'main.js'    }}

零配置 

因为很多都有默认值了,所以我们可以实现零配置

以上我们可以认为通过如下命令来实现

webpack --mode=development

 

loader

略有些复杂的loader配置可能会比较麻烦,如果用命令行实现也可以,但会执行一条很长的命令

注意loader的顺序是不能乱的,比如css 需要先通过 css-loader 然后 style-loader写到页面内, 也就是说在 use 里是反着写的

  module: {        rules: [            {                test: /\.css$/,                use: ['style-loader', 'css-loader']            },            {                test: /\.less$/,                use: ['style-loader', 'css-loader', 'less-loader']            },            {                test: /\.(js|jsx)$/,                use: ['babel-loader']            },            {                test: /\.(png|jpg|jpeg|gif)$/,                use: ['file-loader']            }        ]    }

 

devServer

webpack-dev-server 可以快速让网站运行在一个 express 作为后台的虚拟服务器上,这样也可以实现很多开发的便利,比如热更新,浏览器实时刷新

主要参数

 

转载于:https://www.cnblogs.com/sowhite/p/8460523.html

你可能感兴趣的文章
SQL中Group By的使用
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
hiho_offer收割18_题解报告_差第四题
查看>>
AngularJs表单验证
查看>>
静态方法是否属于线程安全
查看>>
02号团队-团队任务3:每日立会(2018-12-05)
查看>>
SQLite移植手记1
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
C3P0 WARN: Establishing SSL connection without server's identity verification is not recommended
查看>>
iPhone在日本最牛,在中国输得最慘
查看>>
动态方法决议 和 消息转发
查看>>
C#生成随机数
查看>>
Java回顾之多线程
查看>>
机电行业如何进行信息化建设
查看>>
9、总线
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>
构建之法阅读笔记02
查看>>
DataTable和 DataRow的 区别与联系
查看>>