cnpm install webpack -g cnpm install webpack -D cnpm install webpack-cli -g cnpm install webpack-cli -D
const path = require('path') module.exports = { // 入口 // entry: path.resolve(__dirname, './src/main.js'), entry: { //给入口文件起个名字叫app app: path.resolve(__dirname, './src/main.js') //可以写绝对路径或相对路径 }, //出口 output: { filename: '[name]. [chunkhash].js', //将代码中一堆文件打包成一捆,打包好的文件名第一个是name,第二个是hash值 path: path.resolve(__dirname, './dist') //只能写绝对路径 } }
2.package.json中’scripts’内更改:
"build": "webpack --config react.config.js"
3.命令行开启
npm run build
cnpm install webpack-dev-rver -D
2.package.json中’scripts’内添加:```"start": "webpack rve --config react.config.js"```
3.react.config.js中添加devServer对象进行配置 devServer: { port: 8888, //开启的端口号 contentBa: "./pudnf85版本剑神刷图加点blic", //指定本地服务的静态资源目录 open: true, }
4.命令行开启npm start
cnpm install html-webpack-plugin -D
2.react.config.js中 const HtmlWebpackPlugin = require('html-webpack-plugin') ... plugins: [ new HtmlWebpackPlugin({ //把打包完的静态资源和指定的html关联起来 template: path.resolve(__dirname, 'public/index.html'), title: 'React' }),]
cnpm install clean-webpack-plugin -D
2.react.config.js中 const { CleanWebpackPlugin } = require('clean-webpack-plugin'); ... plugins: [ new HtmlWebpackPlugin({ //把打包完的静态资源和指定的html关联起来 template: path.resolve(__dirname, 'public/index.html'), title: 'React' }), new CleanWebpackPlugin()]
const webpack = require('webpack');devServer: { port: 8888, //开启的端口号 open: true, hot: true, 实现HMR(Hot Module Replacement) contentBa: "./public", //指定本地服务的静态资源目录}
cnpm install style-loader css-loader -D
2.react.config.js中 module: { rules: [ { test: /\.css$/, u: ['style-loader', 'css-loader'] } //在main.js中导入的文件是以.css结尾的 ] }
二、Sass:1.安装node-sass sass-loader
cnpm install sass-loader node-sass -D
如果node-sass装不成功,换成yarn包管理工具
npm i yarn -gyarn add node-sass -D
2.react.config.js中 module: { rules:[ ]}内
{ test: /\.scss$/, u: ['style-loader', 'css-loader', 'sass-loader'] }
三、img
1.安装
cnpm install file-loader -D
2.react.config.js中 module: { rules:[ ]}内
{ test: /\.(png|svg|jpg|jpeg|gif)$/, u: ['file-loader'] }
四、babel:js编译,把ES6语法转化成主流浏览器兼容的代码1.安装 babel-loader:用于加载.js文件,并交给@babel/*编译器 @babel/core:babel的核心库、 @babel/pret-env:编译大多数es6代码成主流浏览器能兼容的ES5代码、@babel/pret-react:编译jsx代码 cnpm install babel-loader -D cnpm install @babel/core -D cnpm install @babel/pret-env -D cnpm isntall @babel/pret-react -D
2.react.config.js中 module: { rules:[ ]}内 //在处理js模块时,为了让编译速度更快,用exclude忽略node_modules包{ test: /\.(js|jsx)$/, u: ['babel-loader'], exclude: /node_modules/ },
3.根目录下创建babel.config.js module.exports = { //pret: 是Babel对不同版本的JS语法的一种支持编译。 ES6 JSX ts CoffeeScript //plugin: 是用于某些特殊语法的支持和编译 "prets": ["@babel/pret-env","@babel/pret-react"] //编译大多数的es6、jsx}
五、ESlint:检测JS语法规范1.安装 cnpm install eslint-webpack-plugin -D cnpm isntall eslint -D
2.react.config.js中引入, plugins: []内const ESLintPlugin = require('eslint-webpack-plugin') new ESLintPlugin({ exclude: ['node_modules'], fix: true, //自动修复错误,不建议使用 })
3.根目录下创建.eslintrc.json{红磷燃烧的现象 "parrOptions": { "ecmaVersion": 6, "sour校训校风ceType": "module", "ecmaFeatures": { "jsx": true } }, "rules": { "mi": "error"//不加分号,报错 off:关闭 wran:警告 error:报错 // "no-console":2 //0:不报错 1:警告 2:报错 } }
4.如果要忽略eslint错误,可以在需要忽略的代码后面添加注释//eslint-disable-line,如果是一大块代裤子英文码可以用注释包裹:/eslint-disable/ … /eslint-enable/六、区分开发环境和生产环境1.安装(cross-env:在node.js环境进程中添加环境变量) cnpm isntall cross-env -D
2.package.json中 "scripts": { "build": "cross-env NODE_ENV=production webpack --config react.config.js", "start": "cross-env NODE_ENV=development webpack rve --config react.config.js"}
react.config.json中:判断进程的环境是生产环境还是开发环境,生产环境和开发环境执行的代码不同const isDev = process.env.NODE_ENV === 'development'
代码初始是生产环境的配置,经过判断后如果是开发环境,则将与生产环境中不同的代码覆盖。代码详情见react.config.js文件七、resolve:1.定义绝对路径@:通过alias2.定义文件后缀名省略:extensionsresolve:{ alias:{ '@':path.resolve(__dirname,'src') }, extensions: ['.js', '.jsx', '.css', '.vue', '.ts', '.scss']负荆请罪的人物 //配置省略.xx后缀}
八、source-map小警告:在开发环境配置中添加config.devtool=‘source-map’devtool作用:当程序报错时,会显示错误在源码中的位置, 否则显示在编译后代码最后的位置本文地址:https://blog.csdn.net/xbczrz/article/details/111052857
本文发布于:2023-04-07 16:08:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/c7c54ecb06ec2a15841773244d4f367b.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:webpack 5 最新版 5分钟快速上手.doc
本文 PDF 下载地址:webpack 5 最新版 5分钟快速上手.pdf
留言与评论(共有 0 条评论) |