如果不使用脚手架,如果用webpack构建一个自己的react应用
1.使用同一个链接,如何实现PC打开是web 应用、手机打开是一个H5应用2.如何保证用户的使用体验3.如何解决页面请求接口大规模并发问题4.设计一套全站请求耗时统计工具5.大文件上传6.h5如何解决移动端适配问题7.实现站点一键换肤功能实现方式有哪些8.如何实现网页加载进度条9.常见图片懒加载方式有哪些10.cookie构成部分有哪些11.DNS协议了解多少12.函数式编程了解多少13.一直在window上面挂东西是否有什么风险14.小程序为什么会有两个线程15.如何通过设置失效时间清除本地存储的数据?
16.如果不使用脚手架,如果用webpack构建一个自己的react应用
17.用 nodejs 实现一个命令行工具,统计输入目录下面指定代码的行数18.package.json 里面 sideEffects 属性的作用19.script 标签上有那些属性20.SPA 中使用 hash 路由时作用和意义21.用户访问页面白屏了,原因是啥如何排查?22.[代码实现]S 中如何实现大对象深度对比23.JavaScript 中处理 100 万数据时确保性能和流畅度的几种方法24.<script> 标签放在 HTML 文档的 <body> 内底部25.虚拟滚动加加载的原理和实现思路26.ts二刷27.promise面试题28.命令行创建 uni-app 项目29.uniapp+v3的小知识点30.ts文件忽略校验31.['',''].join(" ").trim()32.自定义导航栏交互(导航栏左上角按钮+滚动动画效果)33.可视化点击x轴标签实现标签文字切换34.运行vue -V的时候vue : 无法加载文件 C:\Users\jiaho\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本35.uniapp+vue2实现下载相关36.深度响应式劫持vue3以下是使用Webpack构建一个自己的React应用的基本步骤:
1. 项目初始化
首先创建一个项目文件夹,并在其中初始化package.json
文件(用于管理项目的依赖和脚本等),打开命令行,进入项目文件夹,执行以下命令:
mkdir my-react-app
cd my-react-app
npm init -y
2. 安装必要的依赖
需要安装React、React DOM以及Webpack相关的核心库和一些必要的加载器(loader)等。
npm install react react-dom webpack webpack-cli webpack-dev-server html-webpack-plugin @babel/core @babel/preset-env @babel/preset-react babel-loader css-loader style-loader --save-dev
react
和react-dom
:React核心库和用于操作DOM的库。webpack
和webpack-cli
:构建工具及其命令行界面,用于打包项目。webpack-dev-server
:提供一个开发服务器,方便在开发过程中实时查看效果,热更新等。html-webpack-plugin
:用于自动生成HTML文件,并将打包后的JavaScript等资源引入到HTML中。@babel/core
、@babel/preset-env
、@babel/preset-react
和babel-loader
:用于将ES6+代码(包括React的JSX语法)转换为浏览器能够识别的JavaScript代码,通过Babel进行转译。css-loader
和style-loader
:用于处理CSS文件,css-loader
解析CSS文件中的@import
和url()
等,style-loader
将解析后的CSS样式注入到页面中。
3. 配置Webpack
在项目根目录下创建webpack.config.js
文件,用于配置Webpack的各项参数,示例配置如下:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
mode: 'development', // 开发模式,还可以设置为'production'用于生产环境打包
entry: './src/index.js', // 项目入口文件,后续所有依赖会从这里开始分析和打包
output: {
path: path.resolve(__dirname, 'dist'), // 打包后的文件输出目录
filename: 'main.js' // 输出的主文件名
},
module: {
rules: [
{
test: /\.(js|jsx)$/, // 处理.js和.jsx文件
exclude: /node_modules/, // 排除node_modules文件夹中的文件,不进行转译处理
use: {
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
'@babel/preset-react'
]
}
}
},
{
test: /\.css$/, // 处理CSS文件
use: [
'style-loader',
'css-loader'
]
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html', // 指定HTML模板文件,会基于这个文件生成最终的HTML
inject: 'body' // 将打包后的JavaScript文件注入到HTML的body标签内
})
],
devServer: {
contentBase: path.join(__dirname, 'dist'), // 开发服务器的根目录,指向打包输出目录
port: 3000, // 服务器监听的端口号
open: true // 启动服务器时自动打开浏览器访问应用
}
};
4. 创建项目文件
-
在项目根目录下创建
src
文件夹,里面包含以下几个关键文件:index.html
:作为HTML模板文件,示例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>My React App</title> </head> <body> <div id="root"></div> </body> </html>
index.js
:这是项目的入口JavaScript文件,在这里引入React并渲染组件到页面上,示例如下:
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; // 假设后续会创建App组件 ReactDOM.render( <App />, document.getElementById('root') );
App.js
:一个简单的React组件文件,示例如下:
import React from 'react'; const App = () => { return ( <div> <h1>Hello, React App!</h1> </div> ); }; export default App;
5. 运行项目
在命令行中执行以下命令来启动开发服务器,Webpack会根据配置进行打包,并在浏览器中打开应用:
npx webpack-dev-server
如果后续想要进行生产环境的打包,可以执行以下命令(会根据webpack.config.js
中的mode
配置为production
时的相关设置进行打包):
npx webpack
通过以上步骤,就可以在不使用脚手架的情况下,利用Webpack构建一个简单的React应用,在开发过程中可以不断扩展组件、添加功能以及完善样式等。
本文来自博客园,作者:jialiangzai,转载请注明原文链接:https://www.cnblogs.com/zsnhweb/p/18646179
合集:
前端小知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通