当前位置: 首页 > news >正文

营销型企业网站建设价格重庆seo职位

营销型企业网站建设价格,重庆seo职位,网站建设的栏目策划,网站seo啥意思怎么做React 开发环境与工具详解 —— 语法知识点、使用方法与案例代码 一、Node.js 环境 1.1 Node.js 环境安装 说明#xff1a;Node.js 是运行 JavaScript 的服务器端环境#xff0c;React 开发依赖 Node.js 和其包管理器 NPM。 ✅ 安装步骤#xff1a; 访问官网 https://node…React 开发环境与工具详解 —— 语法知识点、使用方法与案例代码 一、Node.js 环境 1.1 Node.js 环境安装 说明Node.js 是运行 JavaScript 的服务器端环境React 开发依赖 Node.js 和其包管理器 NPM。 ✅ 安装步骤 访问官网 https://nodejs.org下载 LTS长期支持版安装后在终端运行 node -v npm -v若输出版本号如 v18.17.0、9.6.7说明安装成功。 1.2 最简 Web 服务使用 Node.js 原生 http 模块 // server.js const http require(http);// 创建 HTTP 服务 const server http.createServer((req, res) {// 设置响应头内容类型为 HTML编码 UTF-8res.writeHead(200, { Content-Type: text/html; charsetutf-8 });// 返回 HTML 内容res.end(h1 最简 Node.js Web 服务/h1p当前路径: ${req.url}/pp请求方法: ${req.method}/p); });// 监听 3000 端口 server.listen(3000, () {console.log(✅ 服务已启动访问 http://localhost:3000); });运行命令 node server.js1.3 React 服务器端渲染SSR基础概念 说明SSR 是在服务端生成 HTML 字符串提升首屏加载速度和 SEO。 // ssr-server.js const http require(http); const React require(react); const ReactDOMServer require(react-dom/server);// 创建 React 组件 function App() {return React.createElement(div, null, Hello from React SSR!); }// 创建服务 const server http.createServer((req, res) {const html ReactDOMServer.renderToString(React.createElement(App));res.writeHead(200, { Content-Type: text/html; charsetutf-8 });res.end(!DOCTYPE htmlhtmlheadtitleReact SSR/title/headbodydiv idroot${html}/div!-- 客户端激活 --script src/client-bundle.js/script/body/html); });server.listen(3001, () {console.log(✅ SSR 服务运行在 http://localhost:3001); });⚠️ 需要配合 Webpack 打包客户端代码并挂载hydrate。 二、NPM 模块管理 2.1 NPM 模块安装 # 安装生产依赖 npm install react react-dom# 安装开发依赖 npm install --save-dev webpack webpack-cli# 安装全局工具如 create-react-app npm install -g create-react-app# 安装指定版本 npm install lodash4.17.21# 安装最新版本 npm install lodashlatest2.2 使用 package.json {name: my-react-app,version: 1.0.0,description: React 开发环境示例,main: index.js,scripts: {start: node server.js,dev: webpack serve --mode development,build: webpack --mode production,test: jest},dependencies: {react: ^18.2.0,react-dom: ^18.2.0},devDependencies: {webpack: ^5.88.0,webpack-cli: ^5.1.4,webpack-dev-server: ^4.15.1},keywords: [react, webpack, npm],author: Your Name,license: MIT }常用命令 npm init # 初始化 package.json npm run start # 运行脚本 npm list --depth0 # 查看已安装包 npm outdated # 查看过期包 npm update # 更新包2.3 其他常用 NPM 命令 # 删除包 npm uninstall lodash# 清除缓存 npm cache clean --force# 查看包信息 npm info react# 安装所有依赖根据 package.json npm install# 仅安装生产依赖 npm install --production三、常用前端代码编辑器简介 推荐使用 VS Code安装以下插件提升 React 开发体验 ESLint — 代码规范检查Prettier — 代码格式化Reactjs Code Snippets — 快速生成组件模板Auto Rename Tag — 自动重命名标签Bracket Pair Colorizer — 括号配色 四、Webpack 打包工具 4.1 Webpack 介绍 Webpack 是模块打包工具将 JS、CSS、图片等资源打包成浏览器可识别的静态资源。 4.2 Webpack 基本原理 入口Entry → 模块依赖图 → 加载器Loaders处理资源 → 插件Plugins优化 → 输出Output 4.3 Webpack 使用基本概念 核心概念 Entry入口文件Output输出文件Loaders转换非 JS 文件如 JSX、CSSPlugins执行更广泛的任务压缩、注入等Mode开发/生产模式 4.4 Webpack 配置项webpack.config.js // webpack.config.js const path require(path);module.exports {// 入口文件entry: ./src/index.js,// 输出配置output: {path: path.resolve(__dirname, dist),filename: bundle.js,clean: true, // 每次构建前清空 dist},// 开发服务器配置devServer: {static: ./dist,port: 3000,open: true,hot: true, // 启用热更新},// 模块加载器module: {rules: [{test: /\.jsx?$/, // 匹配 .js 或 .jsx 文件exclude: /node_modules/,use: {loader: babel-loader,options: {presets: [babel/preset-react, babel/preset-env],},},},{test: /\.css$/,use: [style-loader, css-loader], // 从右到左执行},{test: /\.(png|svg|jpg|jpeg|gif)$/i,type: asset/resource, // 图片资源},],},// 插件plugins: [],// 模式mode: development, // 或 production// 解析配置resolve: {extensions: [.js, .jsx], // 自动补全扩展名}, };4.5 几个常用插件 ① HtmlWebpackPlugin自动生成 HTML npm install --save-dev html-webpack-pluginconst HtmlWebpackPlugin require(html-webpack-plugin);module.exports {plugins: [new HtmlWebpackPlugin({title: My React App,template: ./public/index.html, // 模板filename: index.html, // 输出文件名}),], };② CleanWebpackPlugin清理 dist npm install --save-dev clean-webpack-pluginconst { CleanWebpackPlugin } require(clean-webpack-plugin);module.exports {plugins: [new CleanWebpackPlugin(),], };③ MiniCssExtractPlugin提取 CSS npm install --save-dev mini-css-extract-pluginconst MiniCssExtractPlugin require(mini-css-extract-plugin);module.exports {module: {rules: [{test: /\.css$/,use: [process.env.NODE_ENV production? MiniCssExtractPlugin.loader: style-loader,css-loader,],},],},plugins: [new MiniCssExtractPlugin({filename: [name].[contenthash].css,}),], };4.6 打包成多个资源文件多入口 // webpack.config.js module.exports {entry: {main: ./src/index.js,admin: ./src/admin.js,},output: {path: path.resolve(__dirname, dist),filename: [name].bundle.js, // [name] 替换为入口名}, };4.7 React 开发中的 Webpack 需要配置 Babel 转译 JSX 和 ES6 语法。 npm install --save-dev babel/core babel/preset-env babel/preset-react babel-loader// .babelrc 或 babel.config.json {presets: [[babel/preset-env, { targets: { browsers: [ 1%, last 2 versions] } }],babel/preset-react] }五、Babel 工具 Babel 将 ES6、JSX 转换为浏览器兼容的 ES5 代码。 配置文件 .babelrc {presets: [babel/preset-env,babel/preset-react],plugins: [babel/plugin-transform-runtime] }六、模块动态加载Code Splitting 使用 import() 动态导入实现按需加载。 // App.js import React, { useState, useEffect } from react;function App() {const [module, setModule] useState(null);const loadHeavyModule async () {// 动态导入Webpack 会自动分割代码const { HeavyComponent } await import(./HeavyComponent);setModule(HeavyComponent /);};return (divbutton onClick{loadHeavyModule}加载重型组件/buttondiv{module}/div/div); }export default App;// HeavyComponent.js import React from react;// 模拟大型组件 export function HeavyComponent() {return h2 我是动态加载的重型组件/h2; }构建后会生成 0.bundle.js、1.bundle.js 等按需加载文件。 七、模块热替换技术HMR 修改代码后无需刷新页面局部更新组件。 配置 Webpack Dev Server // webpack.config.js module.exports {devServer: {hot: true,}, };在 React 中启用 HMR使用 react-refresh npm install --save-dev pmmmwh/react-refresh-webpack-plugin react-refresh// webpack.config.js const ReactRefreshWebpackPlugin require(pmmmwh/react-refresh-webpack-plugin);module.exports {plugins: [new ReactRefreshWebpackPlugin(),],module: {rules: [{test: /\.jsx?$/,use: [{loader: babel-loader,options: {plugins: [react-refresh/babel, // 启用 React 刷新],},},],},],}, };组件修改后自动更新状态保留 八、使用 Chrome 浏览器进行调试 8.1 设备类型预览 F12 → Toggle Device Toolbar或 CtrlShiftM→ 选择设备iPhone、iPad 等 8.2 DOM 结构查看 Elements 面板查看和编辑 HTML/CSS 8.3 Console 控制台 console.log(普通日志); console.warn(警告); console.error(错误); console.table([{name: 张三, age: 20}, {name: 李四, age: 25}]); console.time(计时器); // ... 代码 console.timeEnd(计时器);8.4 网络请求查看 Network 面板查看 XHR/Fetch 请求、状态码、响应时间、请求头等。 8.5 页面源代码查看 Sources 面板查看原始或打包后源码设置断点调试。 九、React 开发工具 9.1 React 开发工具的安装 Chrome 商店搜索 “React Developer Tools” 并安装。 9.2 React 开发工具的使用 查看组件树结构查看 Props / State修改状态实时生效开发环境Profiler 性能分析 十、工程脚手架 10.1 初始工程创建 使用 Create React App推荐新手 npx create-react-app my-app cd my-app npm start手动搭建Webpack Babel mkdir my-react-app cd my-react-app npm init -y npm install react react-dom npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader babel/core babel/preset-env babel/preset-react html-webpack-plugin创建目录结构 my-react-app/ ├── src/ │ ├── index.js │ └── App.jsx ├── public/ │ └── index.html ├── webpack.config.js └── package.json10.2 配置修改以 CRA 为例 CRA 默认隐藏 Webpack 配置如需修改 npm run eject # 慎用不可逆或使用 cracoCreate React App Configuration Override npm install craco/craco// craco.config.js module.exports {webpack: {configure: (webpackConfig) {// 修改配置return webpackConfig;},}, };修改 package.json {scripts: {start: craco start,build: craco build,test: craco test} }✅ 综合性案例完整 React Webpack HMR 动态加载项目 项目结构 my-full-react-app/ ├── src/ │ ├── index.js │ ├── App.jsx │ ├── Home.jsx │ ├── About.jsx │ └── components/ │ └── Header.jsx ├── public/ │ └── index.html ├── webpack.config.js ├── .babelrc ├── package.json └── README.md1. 入口文件 src/index.js // src/index.js import React from react; import ReactDOM from react-dom/client; import App from ./App;const root ReactDOM.createRoot(document.getElementById(root)); root.render(App /);// 启用 HMR模块热替换 if (module.hot) {module.hot.accept(./App, () {const NextApp require(./App).default;root.render(NextApp /);}); }2. 主组件 src/App.jsx // src/App.jsx import React, { useState } from react; import Header from ./components/Header;function App() {const [page, setPage] useState(home);const [dynamicComponent, setDynamicComponent] useState(null);const loadAbout async () {const { default: About } await import(./About);setDynamicComponent(About /);};return (div style{{ padding: 20px, fontFamily: Arial }}Header /navbutton onClick{() setPage(home)}首页/buttonbutton onClick{() setPage(about)}关于静态/buttonbutton onClick{loadAbout}关于动态加载/button/navhr /{page home Home /}{page about About /}{dynamicComponent (div style{{ border: 2px dashed #ccc, padding: 10px, marginTop: 20px }}{dynamicComponent}/div)}/div); }export default App;3. 首页组件 src/Home.jsx // src/Home.jsx import React from react;export default function Home() {return (divh2 欢迎来到首页/h2p这是静态加载的首页组件。/p/div); }4. 关于组件 src/About.jsx // src/About.jsx import React from react;export default function About() {return (divh2ℹ️ 关于我们/h2p这个组件可以静态或动态加载。/pp当前时间{new Date().toLocaleTimeString()}/p/div); }5. 头部组件 src/components/Header.jsx // src/components/Header.jsx import React from react;export default function Header() {return (header style{{ backgroundColor: #007acc, color: white, padding: 10px, marginBottom: 20px }}h1⚛️ React Webpack 综合项目/h1/header); }6. HTML 模板 public/index.html !DOCTYPE html html langzh-CN headmeta charsetUTF-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0/titleReact Webpack 综合项目/title /head bodydiv idroot/div /body /html7. Webpack 配置 webpack.config.js const path require(path); const HtmlWebpackPlugin require(html-webpack-plugin); const ReactRefreshWebpackPlugin require(pmmmwh/react-refresh-webpack-plugin);const isDevelopment process.env.NODE_ENV ! production;module.exports {mode: isDevelopment ? development : production,entry: ./src/index.js,output: {path: path.resolve(__dirname, dist),filename: [name].[contenthash].js,clean: true,},devServer: {static: ./dist,port: 3000,open: true,hot: true,},module: {rules: [{test: /\.jsx?$/,exclude: /node_modules/,use: {loader: babel-loader,options: {presets: [babel/preset-env,babel/preset-react,],plugins: [isDevelopment react-refresh/babel,].filter(Boolean),},},},{test: /\.css$/,use: [style-loader, css-loader],},],},plugins: [new HtmlWebpackPlugin({template: ./public/index.html,}),isDevelopment new ReactRefreshWebpackPlugin(),].filter(Boolean),resolve: {extensions: [.js, .jsx],}, };8. Babel 配置 .babelrc {presets: [babel/preset-env,babel/preset-react] }9. package.json {name: my-full-react-app,version: 1.0.0,scripts: {start: webpack serve --mode development,build: webpack --mode production,dev: cross-env NODE_ENVdevelopment webpack serve,prod: cross-env NODE_ENVproduction webpack},dependencies: {react: ^18.2.0,react-dom: ^18.2.0},devDependencies: {babel/core: ^7.22.0,babel/preset-env: ^7.22.0,babel/preset-react: ^7.22.0,babel-loader: ^9.1.0,cross-env: ^7.0.3,css-loader: ^6.8.1,html-webpack-plugin: ^5.5.3,style-loader: ^3.3.3,webpack: ^5.88.0,webpack-cli: ^5.1.4,webpack-dev-server: ^4.15.1,pmmmwh/react-refresh-webpack-plugin: ^0.5.10,react-refresh: ^0.14.0} }10. 运行项目 npm install npm start访问 http://localhost:3000体验 热更新修改组件自动刷新动态加载点击按钮加载组件多页面切换 本章小结 本章系统讲解了 React 开发环境的核心工具链 ✅ Node.js 与 NPM项目运行和依赖管理基础✅ Webpack模块打包、代码分割、插件扩展✅ Babel语法转译支持 JSX 和 ES6✅ HMR开发效率神器状态保留热更新✅ Chrome DevTools React DevTools调试利器✅ 工程脚手架快速初始化项目标准化结构 掌握这些工具你已具备搭建现代化 React 项目的能力
http://www.zqtcl.cn/news/709735/

相关文章:

  • 电商网站建设与课程设计科技网站模版
  • 建设部网站资质漳州最专业的网站建设公司
  • 网站建设需求和页面需求怎么提一个静态网站怎么做
  • 宝塔wordpress广州网站营销seo
  • 甘肃城乡建设厅网站首页发布公司信息的网站
  • 工信部网站备案查询 手机凡科网微信小程序制作
  • 一站多通怎么做网站网站推广工具 刷链接
  • 学生做网站的工作室网络舆情监测与研判考试重点
  • 做网站去哪个公司好广告创意设计论文
  • 20m带宽做网站够用吗win7创建wordpress
  • qq音乐怎么做mp3下载网站发卡网站建设方案
  • 做cpc不做网站可以吗网站跳出率
  • 公司网站变更域名有了域名就可以做网站了吗
  • 网站建设推广营销策划做外贸网站需要注册公司吗
  • 可信赖的赣州网站建设做羽毛球网站
  • 如何找网站做推广wordpress登录及注册
  • 韩国美容网站 模板wordpress中英文
  • 为什么邮箱突然进不去了总提示正在进入不安全网站wordpress需注册访问
  • 建网站哪家最好山东泰安房价
  • wordpress4.9+多站点网络推广公司联系昔年下拉
  • 西安seo网站关键词优化罗田县建设局网站
  • 北京网站建设 shwllnmp新手 wordpress
  • 优化网站结构一般包括如何进行网络营销风险控制
  • 怎样查看网站是用什么做的郫都区规划建设局网站
  • 新乡营销型网站建设制作网站设计的总结
  • 做网站的免费空间微信crm管理系统
  • 网站开发方向 英语翻译护肤品网页设计图片
  • 南昌做兼职的网站佛山网站建设公司排名
  • 购物网站建设推进表国外设计素材网站
  • 广州网站建设推广公司有哪些有一个网站专门做民宿