分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

webpack--react配置

发布时间:2023-09-06 01:45责任编辑:顾先生关键词:配置webpack

当今一般都流行脚手架使用,所以一般react\vue\angular官网都有推荐的安装方式,

react有好几种,一般是react-cli或自己配置。

package.json

{ ?"name": "test", ?"version": "1.0.0", ?"description": "测试", ?"main": "index.js", ?"scripts": { ???"test": "echo \"Error: no test specified\" && exit 1", ???"start": "Webpack-dev-server" ?}, ?"author": "zhangzhicheng", ?"license": "ISC", ?"dependencies": { ???"react": "^16.2.0", ???"react-dom": "^16.2.0" ?}, ?"devDependencies": { ???"babel-cli": "^6.26.0", ???"babel-core": "^6.26.0", ???"babel-loader": "^7.1.4", ???"babel-plugin-react-html-attrs": "^2.1.0", ???"babel-preset-env": "^1.6.1", ???"babel-preset-react": "^6.24.1", ???"css-loader": "^0.28.7", ???"extract-text-webpack-plugin": "^3.0.2", ???"html-webpack-plugin": "^2.30.1", ???"less": "^3.0.1", ???"less-loader": "^4.1.0", ???"postcss-loader": "^2.0.9", ???"style-loader": "^0.19.1", ???"webpack": "^3.10.0", ???"webpack-dev-server": "^2.9.7" ?}}

webpack.config.js

const debug = process.env.NODE_ENV !== "production";const webpack = require(‘webpack‘);const path = require(‘path‘);module.exports = { ?entry: ‘./src/index.js‘, ?output: { ???path: path.resolve(__dirname, ‘dist‘), ???filename: ‘bundle.js‘ ?}, ?module: { ?????rules: [ ???????{ ?????????test: /\.js$/, ?????????exclude: /(node_modules|bower_components)/, ?????????use: { ???????????loader: ‘babel-loader‘ ?????????} ???????}, ???????{ ???????test: /\.css$/, ???????use: [ ?????????‘style-loader‘, ?????????{ loader: ‘css-loader‘, options: { importLoaders: 1 } }, ?????????{ ?????????????loader: ‘postcss-loader‘, ?????????????options: { ???????????????ident: ‘postcss‘, ???????????????plugins: (loader) => [ ?????????????????require(‘autoprefixer‘)() ???????????????] ?????????????} ???????????} ???????????] ???????}, ???????{ ???????test: /\.less$/, ???????use: [ ?????????‘style-loader‘, ?????????{ loader: ‘css-loader‘, options: { importLoaders: 1 } }, ?????????{ ?????????????loader: ‘postcss-loader‘, ?????????????options: { ???????????????ident: ‘postcss‘, ???????????????plugins: (loader) => [ ?????????????????require(‘autoprefixer‘)() ???????????????] ?????????????} ???????????}, ???????????‘less-loader‘, ???????] ?????} ?????] ???}, ???devServer: { ?????contentBase: path.join(__dirname, "dist"), ?????compress: true, ?????port: 9000, ?????hot: true, ?????inline: true ???}, ???plugins: [ ???new webpack.optimize.DedupePlugin(), ???new webpack.optimize.OccurrenceOrderPlugin(), ???new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }), ???new webpack.HotModuleReplacementPlugin() ?] ???};/*以上是使用less+babel+react配置启动webpack-dev-server配置devServer基本上配置webpack都去官网和各模块官网复制粘贴就可以了,都有推荐配置而postcss-loader这个自定义一些css预处理方式,可以和less\sass\stylus配合使用 *//*如果你使用了一些有着很酷的依赖树的库,那么它可能存在一些文件是重复的。webpack可以找到这些文件并去重。这保证了重复的代码不被大包到bundle文件里面去,取而代之的是运行时请求一个封装的函数webpack.optimize.DedupePlugin()根据模块调用次数,给模块分配ids,常被调用的ids分配更短的id,使得ids可预测,降低文件大小,该模块推荐使用OccurrenceOrderPlugin压缩jsUglifyJsPlugin热替换模块,使用热替换使用的HotModuleReplacementPlugin*/

webpack使用3版本,因为4版本不稳定。

.babelrc

{ ?"presets": ["react","env"], ?"plugins": [ ???"react-html-attrs" ?]}
使用react-html-attrs,因为react不能正常使用class,react都是使用ES6 clas类编写组件的和使用jsx,html的class会和ES6的冲突,
所以使用react-html-attrs解决,这就可以使用class在jsx的html里。



postcss插件资料
postcss插件资料2

webpack--react配置

原文地址:https://www.cnblogs.com/zhangzhicheng/p/8537581.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved